1
這是什麼問題?我在運行時出現分段錯誤。錯誤輸入二維數組在C中使用scanf
int size;
scanf("%d",&size);
int init[size][size];
//initial matrix
for(int i=0;i<size;i++)
for(int j=0;j<size;j++)
scanf("%d",init[i][j]);
這是什麼問題?我在運行時出現分段錯誤。錯誤輸入二維數組在C中使用scanf
int size;
scanf("%d",&size);
int init[size][size];
//initial matrix
for(int i=0;i<size;i++)
for(int j=0;j<size;j++)
scanf("%d",init[i][j]);
您需要&init[i][j]
而非scanf()
init[i][j]
。
它的工作原理,但我認爲init [i] [j]也指向init [i] [j]的地址。 – 2009-08-24 08:28:44
我想你把它和指針算法混合在一起。 init + i * size + j的確是* int,但init [i] [j]會給你數組元素,它是int。 – qrdl 2009-08-24 09:09:10