3
respostas

Não consegui fazer a minha rodar... porquê?

Fiz meu código, porém ele não rodou a tabuada como era previsto, ai copiei uma resposta e funcionou, porém minha dúcida é o porquê do meu código não ter rodado.

#include <stdio.h>
#include <locale.h>
#include <time.h>

int main()
{
    setlocale(LC_ALL, "Portuguese");
//......................................................................

    int multiplicando, multiplicador, resultado;
    printf("Tabuada a ser impressa: ");

    scanf("%d", &multiplicando);

/*    for(multiplicando=0; multiplicando<=10; multiplicando++);
    {
       resultado = multiplicando * multiplicador;
    }
    printf("%d X %d = %d", multiplicando, multiplicador, resultado);
*/
//meu codigo termina aqui e abaixo foi copiado do fórum...................
for (int i=0; i<=10; i++)
{
    resultado = multiplicando * i;
    printf("%d X %d = %d\n", multiplicando, i, resultado);
}
}
3 respostas

Opa tudo bom Knupp

O que acontece no seu código é que vc lê a entrada do teclado no scanf e atribui ela no multiplicando e depois zera ele no for.

Outra coisa que vc deve observar é que vc colocou um ; na linha do for, como ; indica que a linha terminou ele não vê que o bloco abaixo pertence ao for, então ele executa todo o for para depois ir para o bloco de baixo.

Sobre o bloco abaixo, vc deve passar o printf para dentro do bloco, para que a cada passo do loop ele imprima o resultado.

Não esqueça de adicionar o \n para inserir uma quebra de linha. No final o seu código vai ficar igual ao que vc copiou, a única diferença é que vc realmente nomeou as variáveis.

Olá Knupp, tudo bem?

Conseguiu resolver o seu problema?

Não consegui compreender/corrigir meu código... :(

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software