此处已回答类似问题[https://stackoverflow.com/a/13421435/3276830]。作者说空循环中的更新语句
下面的代码
for (i=0;i<5;i++);
{
printf("hello\n");
}
解释如下:
- 重复五次
for (i=0;i<5;i++)
- ...什么也不做(分号)
- 打开局部变量
{
一个新的范围- ...打印 “你好”
- 关闭范围
}
然而,对于循环
int i = 0;
for(;i++;cout<<i<<" ");
cout<<i<<" ";
输出以下我得到的只是1
,但我预计它是123456.....
编辑,我知道前缀和后缀操作之间的区别。但是,我确实错过了第一次循环运行时为0。
你继续的条件是'我++'并迅速计算结果为0,这是falsey –
啊, 我错过了!谢谢@NickA –
[前缀和后缀运算符有什么区别?](https://stackoverflow.com/questions/7031326/what-is-the-difference-between-prefix-and-postfix-operators) –