当前位置: 代码迷 >> C语言 >> 快帮我看一下哪儿有语法错误?我真的看不出来
  详细解决方案

快帮我看一下哪儿有语法错误?我真的看不出来

热度:426   发布时间:2008-06-25 14:44:33.0
快帮我看一下哪儿有语法错误?我真的看不出来
#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[i],LEN,1,fp))!=1
其它的没错了
----------------解决方案--------------------------------------------------------
呵,,是啊,我居然把逗号记成分号了
----------------解决方案--------------------------------------------------------
呵 下次注意就好
----------------解决方案--------------------------------------------------------