作者killntd (哎呀)
看板C_and_CPP
標題[問題] 關於二維陣列寫入
時間Fri Nov 5 19:02:07 2010
code 如下
----------------------------------------
#include<iostream>
using namespace std;
int main(){
int count;
while(cin>>count){
int array[count][3];
for(int i=0;i<count;i++){
for(int j=0;j<4;j++){
cin>>array[i][j];
}
}
for(int i=0;i<count;i++){
for(int j=0;j<4;j++){
cout<<array[i][j];
}
cout<<endl;
}
}
}
----------------------------------------------------
如果這樣寫
當輸入為
2
1 2 3 4
2 3 4 5
輸出會變成
1 2 3 2
2 3 4 5
----------------
第一句的最後居然會被第二句的前面覆蓋
這究竟是為什麼呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.31.158
→ james732:int array[count][3]; 先跟你說這裡的問題很大 11/05 19:03
→ diabloevagto:陣列要在一開使就宣告固定大小 11/05 19:23
推 jehovah:j超出array範圍了吧 11/05 19:24
→ james732:我在一樓推的問題很大 就包括那個 [3] 也是錯的 XDDD 11/05 19:28
→ killntd:不懂我的問題出在哪... 冏 11/05 19:50
→ killntd: **array 是什麼意思 我要哭哭了XD 11/05 19:52
→ killntd:看來是指標的指標 11/05 19:57
→ stupid0319:等到標準C把動態陣列宣告列為標準時,這樣就沒有問題了 11/05 20:05
→ VictorTom:新的C標準已經支援VLA啦, 但是C++還沒有, 而原po似乎是 11/05 22:17
→ VictorTom:寫C++....XD 11/05 22:17
推 otira:vector<vector<>>呢 11/05 22:41
推 xatier:其實C99也算十年前的東西了XD 11/08 07:34