Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环中的循环和增量保持在0的C++中_C++_Loops_While Loop_Increment - Fatal编程技术网

循环中的循环和增量保持在0的C++中

循环中的循环和增量保持在0的C++中,c++,loops,while-loop,increment,C++,Loops,While Loop,Increment,我在代码中的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)

我在代码中的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++;
    }
}
就好像p++和p2++都不工作了,只有p3的一个循环。这是我在我的项目中的简化代码,它的结果正是我的问题所在。我所期望的是,对于每一个p2,p3会从0持续到9,对于每一个p,p3会从0持续到9。所以最终结果应该是p=9,p2=9,p3=9。我已经主演了一段时间了,只是不明白。看起来很简单,应该踢,但它不是


谢谢你的帮助

p3达到10后,内循环中的条件不再满足;p2也是如此。

当p3等于10时,它将永远不会重新进入while p3<10循环,因为一旦将其增加到10,它将永远不会小于10,也永远不会重新进入该循环。是的,p和p2是递增的,但它们永远不会被打印出来,因为p3==10在那个时间点。

您没有在每个内部循环的开始处重置迭代器:


哦,天哪。你有没有想过代码的逻辑?你有没有意识到,一旦p2和p3变量的循环执行完毕,你就没有重置它们?omg刚刚意识到出了什么问题。对不起,伙计们,我想我只是太累了,不再直接思考了。谢谢你的帮助!虽然这个问题可能很简单,但对于初学者来说并不是那么糟糕。他发布了完整的代码、实际输出和预期输出。因此,+1来自我。对于初学者来说,即使是一个简单的逻辑错误,这也是相当不错的。
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
{
  int p = 0;
  int p2 = 0;
  int p3 = 0;
  while (p < 10) {
    // p2 NOT reset here! - just move "int p2 = 0;" here.
    while (p2 < 10) {
      // p3 NOT reset here! - just move "int p3 = 0;" here.
      while (p3 < 10) {
        // ...
        p3++;
      }
      p2++;
    }
    p++;
  }
}