char name[4][20];
int count=0;
cout<<"Enter 4 name at most , one name per line:\n";
while(cin.getline(name[count++],20))
;
--count;
(代码其余部分是打印如果u需要看到过它放在最后)阵列越来越比它应该
当我输入名字超过4仍然打印这些名字却怎么也发生? 因为第一个维度是4,因此如何能超过四
printing part of code:
for(int i=0; i<count; i++)
{
cout<<i<<"="<<name[i]<<endl;
}
system("pause");
}
你需要告诉它停止后4'while'命令不知道如何阵列很大。 – Galik 2014-09-13 07:58:55
但第一个尺寸是4 ,所以当它得到超过4时,程序应该给出错误或者其他东西 无论如何,附加名称应该转到NAME(数组),但是当第一个维度是4时会发生怎么样的情况。 – user3783574 2014-09-13 08:00:13
访问外部数组的边界是未定义的行为。它可能会崩溃,它可能不会,它可能会吹出你的扬声器。这取决于你坚持的界限。 – 2014-09-13 08:01:21