int main() {
int j = 0;
int i = 0;
for (j = 0; j < 5; j++) {
printf("Iteration %d : %d ", j + 1, i);
int i;
printf("%d", i);
i = 5;
printf("\n");
}
}
Приведенный выше код генерирует следующий вывод:
Iteration 1 : 0 0
Iteration 2 : 0 5
Iteration 3 : 0 5
Iteration 4 : 0 5
Iteration 5 : 0 5
Я не могу понять, почему второе значение printf
в итерациях 2,3,4,5
5.
Мое понимание того, почему первое значение равно 0 на каждой итерации, заключается в том, что область i
в цикле for
является локальной и уничтожается, как только мы переходим к новой итерации, когда объявлен i
в цикле for
.
Но я не могу понять, почему это значение становится 5 во втором printf
.