在C中使用scanf输入2d数组的错误
这有什么问题?我在运行时遇到分段错误在C中使用scanf输入2d数组的错误,c,arrays,C,Arrays,这有什么问题?我在运行时遇到分段错误 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]); int大小; scanf(“%d”,大小(&S); int init[size][size]; //初始矩阵 对于(int i=0;i你需要&i
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]);
int大小;
scanf(“%d”,大小(&S);
int init[size][size];
//初始矩阵
对于(int i=0;i你需要&init[i][j]
而不是scanf()
中的init[i][j]
,它可以工作,但我认为init[i][j]也指向init[i][j]的地址。我想你可以把它和指针算法混合在一起。init+i*size+j确实是*int,但init[i][j]会给你数组元素,即int。