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ê?
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ê?
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! 💪 💻