C语言报错显示expected expression before ‘struct’怎么解决?

#include"stdio.h"
struct patient{
int id;
char name[10];
int shen;
float num;
float fee;
}pat;
void input(struct patient pat)
{
int num,fee;
FILE *fp;
printf("\n请输入您的姓名:");
scanf("%s",pat.name);
printf("\n请输入您的ID:");
scanf("%d",&pat.id);
printf("\n请输入您的身份证号:");
scanf("%s",&pat.shen);
printf("录入成功!\n");
printf("\n余额:0");
printf("\n应交纳费用:0");
fp=fopen("d://patient.txt","w");
fprintf(fp,"%s%d%d%f%f",pat.name,pat.id,pat.shen,pat.fee,pat.num);
fclose(fp);
menu();
}
void menu()
{
int select;
fflush(stdin);
printf (" * 1.信息录入 *\n");
select=getchar();
switch (select)
{
case '1':
input(struct patient pat);
break;
default :printf("\t选择无效,请重新选择\n");
}
menu();
}
int main()
{
void input(struct patient pat);
void menu();
menu();
return 0;
}
这个代码的
case '1':
input(struct patient pat);
break;
的input(struct patient pat);显示的这个错误。

第1个回答  2020-01-08
该行改为
input(pat);
把pat的定义移到前面去
int select;
struct patient pat;
fflush(stdin);本回答被提问者采纳
相似回答