在我的一个项目中有一个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进入
退出.
(查找)你有一个无符号整数,所以它永远不会低于0;步骤j,将带你到最大可能的无符号值,当j为零。所以for循环永远不会终止