Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O resultado da um valor estranho que não corresponde a multiplicação

#include <stdio.h>
#include <locale.h>
#include <windows.h>
int main() {
// sair caracteres especiais e acentuação no cmd do windows
UINT CPAGE_UTF8 = 65001;
UINT CPAGE_DEFAULT = GetConsoleOutputCP();
SetConsoleOutputCP(CPAGE_UTF8);

// INICIO DO PROGRAMA

int numero1;
int numero2;

printf("Digite um número inteiro \n");
scanf("%d", &numero1);

printf("Digite outro número inteiro \n");
scanf("%d, &numero2");

int resultado = numero1 * numero2;

printf("A multiplicação de %d por %d é igual a %d \n", numero1, numero2, resultado);

}

Digitei os dois números como 2 e a resposta que saiu foi essa: A multiplicação de 2 por 4200896 é igual a 8401792

Não vejo nada de errado no código

2 respostas
solução!

Oi Vitor, tudo bem?

Há um pequeno errinho nesta linha:

scanf("%d, &numero2");

Observe que as aspas estão se fechando no lugar indevido. O correto é ela se fechar logo após declararmos o formato da variável de leitura, no caso, um inteiro( %d). Da forma como está acima, a variável numero2 está pegando um valor qualquer na memória. Modifique para:

scanf("%d", &numero2);

Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!

Olá Vitor, tudo bem?

Você acabou cometendo apenas um pequeno erro de digitação na hora de escanear os valores do usuário:

scanf("%d, &numero2");

Veja que você acabou esquecendo de fechas as aspas após o %d dessa forma não estávamos atribuindo a variável numero2 valor nenhum!

Então o programa acabava fazendo a conta com qualquer valor aleatório que estivesse na memória :)

Basta fazer essa pequena correção: scanf("%d", &numero2);

Que agora seu programa já deve estar funcionando normalmente :)

Abraços e Bons Estudos!