-4

我的一个项目中有一个 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 入场

退出

.

.

(省略)

.

0 : 0 输入

退出

-1:0 输入

退出

.

(省略)

4

1 回答 1

4

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

于 2013-05-15T08:41:12.623 回答