【发布时间】:2017-10-05 14:03:18
【问题描述】:
这里已经回答了一个类似的问题[https://stackoverflow.com/a/13421435/3276830]。作者说
以下代码
for (i=0;i<5;i++);
{
printf("hello\n");
}
解释如下:
- 重复五次
for (i=0;i<5;i++)- ...什么都不做(分号)
- 为局部变量
{打开一个新范围- ...打印“你好”
- 关闭范围
}
但是,对于下面的for循环
int i = 0;
for(;i++;cout<<i<<" ");
cout<<i<<" ";
我得到的输出只是1,但我希望它是123456.....
编辑,我知道前缀和后缀操作的区别。但是,是的,我确实错过了第一次循环运行时为 0。
【问题讨论】:
-
您的继续条件是
i++,它很快就会评估为 0,这是错误的 -
啊,我错过了!谢谢@NickA
-
@ChristopherPisz 我知道前缀和后缀操作之间的区别。但是,是的,我确实错过了第一次循环运行时为 0。
标签: c++