快帮我看一下哪儿有语法错误?我真的看不出来
#include "stdio.h"#define LEN sizeof(struct student)
struct student
{int num;
char name[20];
int age;
char add[20];
}stu[4];
void save()
{FILE * fp;
int i;
char filename[20];
printf("输入目标文件名:\n");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{printf("cannot open the file\n");
return;
}
for(i=0;i<4;i++)
{if((fwrite(&stu[i];LEN;1;fp))!==1) 老是提示这一行有错误,,我怎么就不觉得呢?
printf("write flase\n");
}
fclose(fp);
}
main()
{int i;
printf("输入四个学生的数据:\n");
for(i=0;i<4;i++)
scanf("-10d%-10s%-10d%-10s",&stu[i].num,&stu[i].name,&stu[i].age,&stu[i].add);
save();
}
[[it] 本帖最后由 yyow3193 于 2008-6-25 14:46 编辑 [/it]]
搜索更多相关的解决方案:
语法
----------------解决方案--------------------------------------------------------
我晕,怎么那么多个分号?
----------------解决方案--------------------------------------------------------
if((fwrite(&stu[i];LEN;1;fp))!==1)
== 或 !=
----------------解决方案--------------------------------------------------------
LS果然是高人啊!是分号太多了
----------------解决方案--------------------------------------------------------
[bo][un]slokra[/un] 在 2008-6-25 15:19 的发言:[/bo]
if((fwrite(&stu;LEN;1;fp))!==1)
== 或 !=
if((fwrite(&stu;LEN;1;fp))!==1)
== 或 !=
对,这儿也有问题,,呵呵,,,
----------------解决方案--------------------------------------------------------
回复
我调试了一下原来是语法错误 正确的写法是 :if((fwrite(&stu[i],LEN,1,fp))!=1
其它的没错了
----------------解决方案--------------------------------------------------------
呵,,是啊,我居然把逗号记成分号了
----------------解决方案--------------------------------------------------------
呵 下次注意就好
----------------解决方案--------------------------------------------------------