【发布时间】:2016-12-05 11:17:26
【问题描述】:
我尝试在 C 中创建一个矩阵并有一些输入值,但我不知道为什么它会引发“分段错误”。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
int i;
int j;
int **a;
a = malloc(5 * sizeof(int));
for (i = 0; i < 5; i++) {
a[i] = malloc(4 * sizeof(int));
}
for (i = 0; i < 5; i++) {
for (j = 0; j < 4; j++) {
scanf("%d", (a[i][j]));
}
}
return 0;
}
【问题讨论】:
-
应该是
scanf("%d", &(a[i][j])); -
如果你用 gcc 编译,它会警告你你使用 scanf 错误,解决 gcc 警告通常可以解决很多问题。
标签: c matrix segmentation-fault