提问者:小点点

终端执行第一个循环并忽略另一个循环


我在通过终端执行我的程序时遇到了一个问题。 我的程序编译时没有错误,但执行for循环时忽略while循环节。 我检查了它是否执行了while循环部分,是的,它成功地执行了,没有出现任何错误(注意:为了检查它是否执行了程序中的第二个循环-while循环,我将第一个循环,即for loop block更改为comments.)

#include<iostream>
using namespace std;

int main()
{
    unsigned long int p[]={1212121212,3232323232,0404040404};
    char name[5][10]; int j=0;
    for(int i=0;i<5,j<5;i++,j++)
    { cout<<"\n Enter the Name:";
      cin>>name[i];
    }
    while(j<3)
    { 
    cout<<"\n The Number:"<<p[j];
    j++;
    }
return 0;
}

请你解释一下这是怎么回事,我该怎么整理。 请忽略任何拼错的单词。


共1个答案

匿名用户

看这一行:

for(int i=0;i<5,j<5;i++,j++)

您正在递增j直到它等于5,即使您没有在for循环中使用它。

for循环结束时,j==5,这意味着它大于3,因此while中的代码永远不会执行--永远不会满足循环的条件。

您可能希望从for循环中删除对j的任何使用,或者如果有更多代码而您需要它,请记住在for循环结束后将其重置为0。