1
resposta

[Dúvida] erro ao compilar

include <stdio.h>

void main () { int i;

for (i=1; i<=100; i++); printf("%d\n", i); }

No momento em que eu compilo meu programa, vem o numero 101, por quê?

1 resposta

Oi Gabriel,

O problema está no ponto e vírgula (;) após o for. Esse ponto e vírgula encerra o loop for sem executar nenhum comando dentro dele.

O printf é executado apenas uma vez, após o loop terminar, e o valor de i nesse momento é 101, pois o loop incrementa i até que a condição i <= 100 seja falsa.

Para corrigir, remova o ponto e vírgula após o for e coloque o printf dentro do bloco do loop, usando chaves {}:

#include <stdio.h>

void main() {
    int i;

    for (i = 1; i <= 100; i++) {
        printf("%d\n", i);
    }
}

Dessa forma, o printf será executado a cada iteração do loop, imprimindo os números de 1 a 100. 👍

Para saber mais: Estrutura de repetição for em C

Continue praticando e explorando a linguagem! 💪 💻

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓