【发布时间】:2014-07-09 04:24:11
【问题描述】:
我在一个while循环中有2个while循环,就像代码中这样:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int p = 0;
int p2 = 0;
int p3 = 0;
while(p < 10)
{
while(p2 < 10)
{
while(p3 < 10)
{
cout << p << endl;
cout << p2 << endl;
cout << p3 << endl;
cout << endl << endl;
p3++;
}
p2++;
}
p++;
}
}
有人可以解释一下为什么是输出:
0
0
0
0
0
1
0
0
2
0
0
3
0
0
4
0
0
5
0
0
6
0
0
7
0
0
8
0
0
9
就像 p++ 和 p2++ 不工作,只有一个 p3 循环。这是我在项目中的简化代码,它的结果正是我遇到的问题。我期望发生的是,对于每个 p2 从 0 到 9 以及每个 p 从 0 到 9,p3 将继续从 0 到 9。所以结果应该最终达到 p=9,p2=9,p3=9 .我已经主演了一段时间了,只是不明白。看起来很简单,应该会踢但它不是......
感谢大家的帮助!
【问题讨论】:
-
天哪。你有没有想过代码的逻辑?
-
您是否意识到您并没有在循环执行完毕后重置
p2和p3变量? -
omg 刚刚意识到出了什么问题。对不起,伙计们,我想我只是超级累了,不再思考了。感谢所有的帮助!
-
虽然这个问题可能很简单,但对于初学者问题来说,它并不是那么不好。他发布了完整的代码、实际输出和他的预期输出。正因为如此,我+1。就初学者的问题而言,它相当不错(即使它是一个简单的逻辑错误)。
标签: c++ loops while-loop increment