我的data.txt内容是:
1 2 3 4 5 6
1 2 3 4 5 6
4 5 6 7 8 2
我读取文件,并将值存储到二维int数组
int record[line_number][6];
int record2[line_number][8];
int test;
for(i = 0; i <line_number; i++)
{
for(j = 0; j <6; j++)
{
fscanf(fptr, "%d", &record[i][j]);
}
}
int a=0;
int b=0;
for(a=0; a<i; a++) {
for(b=0; b<6; b++) {
printf("%d,", record[a][b]);
}
printf("\n");
}
输出就像一个内存地址,我的代码有什么问题?谢谢!
答案 0 :(得分:6)
您不检查fscanf()
的返回值,因此您不知道它对所有转换确实成功。如果失败,record[][]
中的值将被取消初始化,打印出来将打印出内存中发生的任何内容。