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