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