Я пытаюсь сделать что-то так же просто, как изменить переменную, в которой я выполняю итерацию (i), но я получаю разные типы поведения как в Python, так и в C.
В Python
for i in range(10):
print i,
if i == 2:
i = 4;
Я получаю 0 1 2 3 4 5 6 7 8 9
, но эквивалент в C:
int i;
for (i = 0; i < 10; i++) {
printf("%d", i);
if (i == 2)
i = 4;
}
Я получаю 01256789
(обратите внимание, что числа 3 и 4 не отображаются, как и ожидалось).
Что здесь происходит?