C问题!!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define M 50
typedef struct
{
char name[20];
char sex[5];
int age;
}STU;
int menue_select();
int enter(STU s[]);
void list(STU s[],int n);
main()
{
STU student[M];
int len;
clrscr();
for(;;)
{
switch(menue_select())
{
case 0:exit(0);
case 1:len=enter(student); break;
case 2:list(student,len); break;
}
}
}
int menue_select()
{
int c;
gotoxy(1,1);
clrscr();
printf("********************MENU*********************\n\n");
printf(" 0. Quit\n");
printf(" 1. enter message\n");
printf(" 2. list message\n");
printf("**********************************************\n");
printf("please input choice 0->2:");
scanf("%d",&c);
if(c<0||c>3)
{
printf("error,again:");
menue_select();
}
else
return c;
}
int enter(STU s[]);
{
int i;
int ge;
printf("input student ge shu:\n");
scanf("%d",&ge);
printf("name sex age\n");
for(i=0;i<ge;i++)
scanf("%s%s%d",s[i].name,s[i].sex,&s[i].age);
printf("---------------------------\n");
return ge;
}
void list(STU s[],int n);
{
int i;
printf("name sex age\n");
for(i=0;i<n;i++)
printf("%-30s%-10s%-5d\n",s[i].name,s[i].sex,s[i].age);
}
这个程序提示为说明语法错误,可是我实在查不出来!!
哪位帮一下忙!!
参考答案:#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<conio.h>
#define M 50
typedef struct
{
char name[20];
char sex[5];
int age;
}STU;
int menue_select();
int enter(STU s[]);
void list(STU s[],int n);
main()
{
STU student[M];
int len;
clrscr();
for(;;)
{
switch(menue_select())
{
case 0:exit(0);
case 1:len=enter(student); break;
case 2:list(student,len); break;
}
}
}
int menue_select()
{
int c;
gotoxy(1,1);
clrscr();
printf("********************MENU*********************\n\n");
printf(" 0. Quit\n");
printf(" 1. enter message\n");
printf(" 2. list message\n");
printf("**********************************************\n");
printf("please input choice 0->2:");
scanf("%d",&c);
if(c<0||c>3)
{
printf("error,again:");
menue_select();
}
else
return c;
}
int enter(STU s[])
{
int i;
int ge;
printf("input student ge shu:\n");
scanf("%d",&ge);
printf("name sex age\n");
for(i=0;i<ge;i++)
scanf("%s%s%d",s[i].name,s[i].sex,&s[i].age);
printf("---------------------------\n");
return ge;
}
void list(STU s[],int n)
{
int i;
printf("name sex age\n");
for(i=0;i<n;i++)
printf("%-30s%-10s%-5d\n",s[i].name,s[i].sex,s[i].age);
}
在定义函数int enter(STU s[])和void list(STU s[],int n)时,错误的在后面加了分号
请注意,在函数说明中要分号,函数定义的时候不能带分号。