我在通过终端执行程序时遇到问题。我的程序编译时没有错误,但执行for循环,而忽略while循环部分。我检查了它是否执行while循环部分,是的,它成功执行,没有任何错误(注意:为了检查它是否执行程序while循环中的第二个循环,我将第一个循环,即循环块改为注释。(
#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。