#include <stdio.h>
#define A 34
#define B 3
int main()
{
char data[A][B];
FILE *fp;//文件指针
fp = fopen("data.txt","r+");//打开TXT文件
if(!fp)
printf("不能找到data.TXT!");//判断能否能打开文件
for(int i=0;i<20;i++)
{
for(int j=0;j<5;j++)
fscanf(fp,"%ld",&data[i][j]);
}
fclose(fp);
for(int i = 0;i<5;i++)
{
for(int j = 0;j<5;j++)
{
printf("data[%d][%d]=%ld\n" , i,j,data[i][j]);
}
}
system("pause");
return 0;
}
下面是用到的data.txt和运行结果,求高手来分析一下为什么结果和实际不一样


解决方案
40
#include <stdio.h>
#define A 35
#define B 4
int main() {
int data[A][B];
FILE *fp;
fp = fopen("data.txt","r");
if(!fp) {
printf("不能找到data.TXT!");
return 1;
}
for(int i=0;i<A;i++)
for(int j=0;j<B;j++)
fscanf(fp,"%d",&data[i][j]);
fclose(fp);
for(int i = 0;i<A;i++)
for(int j = 0;j<B;j++)
printf("data[%d][%d]=%d\n" , i,j,data[i][j]);
system("pause");
return 0;
}