在FOR循环中使用cout

时间:2014-04-03 05:10:45

标签: c++

我尝试测试以下代码,发现循环永远不会执行:

   int i=0; 
   for(;i++;cout<<i)
   {
          if(i==5) 
                 break; 
   }

我从以下帖子中读到了关于cout返回的值的以下帖子:

What's the difference between cout<<cout and cout<<&cout in c++?

但是,我无法弄清楚原因。有人可以帮我这个。

2 个答案:

答案 0 :(得分:3)

int i = 0;
for (; i++; cout << i)

在第一个循环中,i++在增量发生之前被评估为0,从而终止循环。

答案 1 :(得分:2)

第一次检查循环退出条件(i++)时,i的值为0(即为假)。因此它永远不会进入循环。

i++是后期增量。所以i变为1,但在循环退出条件中检查的值是增量前的值 - 即0。