我在通过终端执行我的程序时遇到了一个问题。 我的程序编译时没有错误,但执行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;
}
请你解释一下这是怎么回事,我该怎么整理。 请忽略任何拼错的单词。
看这一行:
for(int i=0;i<5,j<5;i++,j++)
您正在递增j
直到它等于5,即使您没有在for
循环中使用它。
当for
循环结束时,j==5
,这意味着它大于3,因此while
中的代码永远不会执行--永远不会满足循环的条件。
您可能希望从for
循环中删除对j
的任何使用,或者如果有更多代码而您需要它,请记住在for
循环结束后将其重置为0。