【发布时间】:2017-05-29 18:24:03
【问题描述】:
for 循环末尾的分号是为了清空循环体并创建一个空循环。但是为什么要打印6?
void main()
{
int i;
for(i=1;i<=5;i++);
{
printf("%d\n",i);
}
}
【问题讨论】:
-
它使空循环(什么都不做),但它确实将
i增加到6,因此在循环结束后执行下一个打印语句 -
你可能想问为什么只打印一个数字而不是 5,或者你真的没有得到循环。
-
如果说以分号结束的空语句是循环体会更准确一些。这不是分号的某种特殊情况或神奇意义。它只是创建了一个
for循环,其 body 什么都不做,但它在所有方面都像任何其他for循环一样工作。 -
你有一个循环。你期待什么?
-
@zubergu 不,我知道循环,我在问为什么它现在打印 6。