目标:我有两个数组。第一个数组是:evenList,第二个是:oddList。我想以这种格式打印给定范围之间的偶数和奇数。
这是我的代码,
cout << "\nEven numbers between " << lowerLimit << " to " << upperLimit << ": ";
for(int i; i < evenList.size(); i++){
cout << evenList[i] << " ";
}
cout << "\n\nOdd numbers between " << lowerLimit << " to " << upperLimit << ": ";
for(int j; j < oddList.size(); j++){
cout << oddList[j] << " ";
}
第一个 for 循环打印所需的输出,但第二个循环不显示奇数。这是输出:
我已经阅读了一些关于 for 循环的内容,但我无法得到答案。如果有人面临相同的问题或问题并得到了答案,请分享。我真的很感激。
最佳答案
您没有初始化迭代器。 int i;
应该是 int i = 0;
,对于 int j
也是如此。就像现在一样,这是未定义的行为。它只是第一次起作用而不是第二次起作用,它还不如两次都起作用,根本不起作用,立即崩溃或做一些完全不同的事情。
您的编译器是否针对此代码发出警告?理想情况下,它应该说“使用了未初始化的局部变量‘i’”之类的话。始终听取编译器警告,它们可以帮助指出一些常见错误。如果您的编译器在此处未发出警告,请尝试查看是否可以将其配置为更严格的警告。
关于c++ - C++中的两个连续for循环,第二个循环不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58336099/