我的一个项目中有一个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)
答案 0 :(得分:4)
你有一个无符号整数,所以它永远不会低于零;当j为零时,步骤j--将带您到最大可能的无符号值。所以for循环永远不会终止。