我一次又一次执行相同的循环后却得到不同的结果,这使我感到困惑。 第一个循环以不同的方式递增,第二个循环则完全不同。
结果:
1 , 1
1 , 2
1 , 3
2 , 1
2 , 2
2 , 3
3 , 1
3 , 2
3 , 3
代码:
#include <iostream>
using namespace std;
int main()
{
for(int outerval {1}; outerval <= 3; outerval++)
for(int innerval {1}; innerval <= 3; innerval++)
cout << outerval << " , " << innerval << '\n';
return 0;
}
答案 0 :(得分:3)
您在这里有一个嵌套循环。对于外循环的每次迭代,完成内循环。因此预期输出。如果您希望将这些循环拆开,可以通过
for(int innerval {1}; innerval <= 3; innerval++)
cout << innerval << '\n';
for(int outerval {1}; outerval <= 3; outerval++)
cout << outerval << '\n';
将打印
1
2
3
1
2
3
答案 1 :(得分:0)
当您执行一个for循环时,它首先完成,无论其内部是什么,然后转到下一个迭代,因此它首先完成内部for循环,然后外部for循环进入下一个迭代,然后再次完成内部等
如果您希望两个循环在另一个循环之后进行迭代,则可以这样做:
for (int i = 0; i < 4; i++){
cout << i << endl;
}
for (int i = 0; i < 4; i++){
cout << i << endl;
}
结果:
0
1
2
3
0
1
2
3