首页 > 解决方案 > 终端执行第一个循环并忽略另一个循环

问题描述

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

#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;
}

你能解释一下这里发生了什么以及我应该如何解决它。请忽略任何拼写错误的单词。

标签: c++linux

解决方案


看看这一行:

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

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

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

您可能想jfor循环中删除任何使用 of,或者如果有更多代码并且您需要它,请记住在for循环结束后将其重置为 0。


推荐阅读