我对C ++还是很陌生,我相信我的问题的答案非常非常简单。
我一直在使用Eclipse IDE,但最近已更改为简单的文本编辑器,并使用命令行进行了编译。(由于我目前没有自己的计算机,因此我不允许在正在使用的计算机上安装任何东西)。
但是,在编写程序时,我注意到无论何时嵌套循环,它都只会运行内部循环。
我尝试使用不同的在线编译器编译代码,这会导致相同的问题。
因此,我相信问题与Eclipse正在自动处理的简单问题有关。
#include <iostream>
int main() {
for (int i; i<3; i++) {
for (int j; j<3; j++) {
std::cout << j << std::endl;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
上面是我想到的最简单的示例,它产生了问题。预期的输出为0、1、2、0、1、2、0、1、2,但是仅在编译并运行时输出0、1、2。
您没有将i和j变量初始化为0,因此变量通过具有未定义的值开始。修正为:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
std::cout << j << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |