【发布时间】:2019-10-22 16:23:50
【问题描述】:
循环应该询问三个人的姓名、年份和地址。输入第三个名字后,程序执行结束,无法输入上一年和地址。
#include <iostream>
int main(){
std::string Names[2]={};
unsigned int Years[2]={};
std::string Address[2]={};
for(int i=0;i<=2;i++){
std::cout<<"Enter name >> ";
std::cin>>Names[i];
std::cout<<"Enter year >> ";
std::cin>>Years[i];
std::cout<<"Enter address >> ";
std::cin>>Address[i];
}
return 0;
}
【问题讨论】:
-
为什么你的数组只有两个元素长?他们不能容纳三个元素...
-
将阵列的大小设置为 3,以便可以容纳 3 人。
-
您的数组大小为
2。不应要求您输入第三个名字。你是意味着你的循环条件是错误的。你应该看看那里。 -
建议。不是三个数组,而是将信息聚合到一个数据结构中并存储该结构的单个数组。这通常会减少记账开销,并且往往更容易分类。