c语言问题
同志们谁给我找下错误,我不清楚哪里错了。测试程序的时候感觉输入那里不能循环怎么回事#include<stdio.h>
#include<process.h>
#include<conio.h>
struct cao
{
char name[20];
int fenshu;
int xuehao;
}xuesheng[20];
int main()
{
FILE*wenjian;int i,a;
printf("输入学生人数");
scanf("%d",&a);
if((wenjian=fopen("e:/cao.txt","wb+"))==NULL)
printf("error");
printf("输入学生信息");
for(i=0;i<a;i++);
{
scanf("%s%d%d",&xuesheng[i].name,&xuesheng[i].fenshu,&xuesheng[i].xuehao);
if(fwrite(&xuesheng[i],sizeof(struct cao),1,wenjian)!=1)
{printf("error");exit(0);}
}
fclose(wenjian);
wenjian=fopen("e:/cao.txt","rb");
printf("输出的信息");
for(i=0;i<a;i++)
{
fread(&xuesheng[i],sizeof(struct cao),1,wenjian);
printf("%s%d%d",xuesheng[i].name,xuesheng[i].fenshu,xuesheng[i].xuehao);
}
fclose(wenjian);
getch();
}
答案:for(i=0;i<a;i++);
{
scanf("%s%d%d",&xuesheng[i].name,&xuesheng[i].fenshu,&xuesheng[i].xuehao);
if(fwrite(&xuesheng[i],sizeof(struct cao),1,wenjian)!=1)
{printf("error");exit(0);}
}
for后面多了个分号,去了就可以了……
上一个:C语言语句 year%400==0?i=1:year%4!=0?i=0:year%100==0?i=0:i=1; 有错么?哪里错了?怎么改
下一个:c 二维数组问题,我标注的都是有问题的地方,哪位高手帮我解决。