我从文件中读取一个矩阵,有下面的代码:使用malloc有什么问题?
int **mat;
int main(void) {
FILE *fp;
if((fp = fopen("matrix.txt", "r")) == NULL){
printf("Cannot open file \n");
exit(1);
getch();
}
fscanf(fp, "%d", &N); //size of matrix NxN
mat = (int**)malloc(N * sizeof(int*));
for(i = 1; i <= N; i++){
mat[i] = (int*)malloc(N * sizeof(int));
for(j = 1; j <= N; j++)
fscanf(fp, "%1d", &mat[i][j]);
}
fclose(fp);
你能告诉我什么是错呢?
我们当然不能因为你没有提供任何错误信息。 – halfdan
演员。不要投。 (也是索引。) –
很多东西。首先,C中的数组索引从'0'到'N-1',而不是从'1'到'N'。 – Marlon