我正在尝试做一些简单的事情,比如更改我正在迭代的变量 (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 没有出现,正如预期的那样)。
这里发生了什么事?