c++ - 终端执行第一个循环并忽略另一个循环
问题描述
我在通过终端执行程序时遇到问题。我的程序编译没有错误,但在忽略 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;
}
你能解释一下这里发生了什么以及我应该如何解决它。请忽略任何拼写错误的单词。
解决方案
看看这一行:
for(int i=0;i<5,j<5;i++,j++)
j
即使您没有在for
循环中使用它,您仍在递增直到等于 5。
当for
循环结束时,j == 5
这意味着它大于 3,因此while
永远不会执行其中的代码 - 永远不会满足循环的条件。
您可能想j
从for
循环中删除任何使用 of,或者如果有更多代码并且您需要它,请记住在for
循环结束后将其重置为 0。
推荐阅读
- reactjs - Jest 测试回调
- mysql - SQL 关系除法查询
- razor - 在 Blazor 页面中使用 SVGS
- javascript - Angular 7过滤器下拉值
- c# - Gmail API:使用包含变音符号的邮件地址会导致 SMTPEception:客户端或服务器仅配置为具有 ASCII 本地部分的地址
- makefile - 为什么我的 makefile 永远不会停止构建?
- javascript - MS Edge 随机不加载脚本
- node.js - Swagger 模块中的前缀 url
- reactjs - 表单中的多个输入元素 - React
- python - 从多个 Python 文件中删除特定的代码行