int i;
for (i = 0; i < 5; i++) {
printf(" %d \n", i);
}
输出: 0 1 2 3 4
int i;
for (i = 0; i < 5; i++); {
printf(" %d \n", i);
}
输出: 5
为什么分号放在 for 循环之后会有如此不同
在第二个代码片段中,for 循环后面有一个分号
;
for (i = 0; i < 5; i++);
。
i++
,但由于;
,身体是空的,所以什么也没有发生。i
变为 5
,导致循环终止。您应该看到第二个片段:
for (i = 0; i < 5; i++);
printf(" %d \n", i);
运行 empty for 循环,并将
i
留在 5
上,您将在下一行打印它。