C语言中的文件读取问题
void score_read()
{
FILE *f;
char num[10];
char name[20];
int p,l,e,j,sum;
if (count==0)
{
printf("\n该学生成绩表目前记录为空,无法进行读取!\n");
printf("\n");
}
else
{
f=fopen("student.txt","r");
if (f==NULL)
{
printf("无法打开来该文件!\n");
exit(0);
}
while (! feof(f))
{
fscanf(f,"%s%s%d%d%d%d%d",num,name,&p,&l,&e,&j,&sum);
printf("%s\t%s\t%d\t%d\t%d\t%d\t%d\n",num,name,p,l,e,j,sum);
};
if(fclose(f))
{
printf("无法关闭此文件!\n");
exit(0);
}
}
}这一段程序进行运行的结果为:
11 ss 77 88 99 66 330
22 yy 77 88 99 90 354
22 yy 77 88 99 90 354
但我文件的内容只有
11 ss 77 88 99 66 330
22 yy 77 88 99 90 354
多出了一行,请问究竟在哪里出错了呢?