for循环在c ++中的发布版本(visual studio)中无限运行

时间:2013-05-15 08:39:18

标签: c++ visual-c++

我的一个项目中有一个for循环。它在发布版本中无限运行,但在调试版本中运行良好。我很无能为力。我应该期待任何内存损坏吗? 我在for循环中有一些函数调用,它们不会改变“j”。

for( int j=10 ; j>=0 ; j--){

 cout << j << " : " << (j>=0);
 cout << "Entered for loop" << endl;
 func(j);
 ...
 cout << "Exiting the for loop" << endl;
 } 

日志看起来像这样:

10:1 进入

退出

9:1 输入

退出

(ommitted)

0:0 输入

退出

-1:0 输入

退出

(ommitted)

1 个答案:

答案 0 :(得分:4)

你有一个无符号整数,所以它永远不会低于零;当j为零时,步骤j--将带您到最大可能的无符号值。所以for循环永远不会终止。