猿问

local function definitions are illegal?怎么解决?

void sort_it(char nn){
int n,m,p,x,t[32];
for(n=0;n<32;n++)
{
switch(nn)
{
case '1' : t[n]=books[n].id;break;
case '2' : t[n]=books[n].pri;break;
}
}
for(n=0;n<32;n++)
{
x=0;
p=-1;
for(m=0;m<32;m++)
{
if(t[m]>x)
{
x=t[m];
p=m;
}
}
t[p]=-1;
INDEX[n]=p; 
}
}//
void browser(void){
int n,x;
char k;
sort_it('1');
while(1)
{
page_title("浏览");
printf("按数字键选择排序方式或按 0 返回\n");
printf("登录号-1\t书名\t作者名\t分类号\t出版单位\t出版时间\t价格-2\n");
for(n=0;n<32;n++)
{
if(INDEX[n]!=-1)
{
x=INDEX[n];
printf("%d\t%s\t",books[x].id,books[x].name);
printf("%s\t%d\t",books[x].wr,books[x].num);
printf("%s\t%d\t",books[x].dep,books[x].time);
printf("%f\n",pri);
}
}
k=getch();
if(k<'3'&&k>'0') sort_it(k);
else if(k=='0') break;
else continue; 
}
}
void main(void)
{
menu: page_title("操作选单");
printf("请用数字键选择操作\n\n");
printf("1 录入图书基本信息\n2 修改图书基本信息\n");
printf("3 注销图书基本信息\n\n4 浏览图书基本信息\n");
printf("0 退出\n");
switch(getch())
{
case '1' : book_new();break;
case '2' : book_edit();break;
case '3' : book_del();break;
case '4' : browser();break;
case '0' : exit(0);
}
goto menu;
}
提示错误:
error C2601: 'sort_it' : local function definitions are illegal
error C2601: 'browser' : local function definitions are illegal
error C2601: 'main' : local function definitions are illegal
fatal error C1004: unexpected end of file found
int search_id(void){
int n,i;
printf("请输入登录号:");
scanf("%d",&i);
for(n=0;n<32;n++)
{  
if(books[n].id==i&&books[n].id!=0)
{
printf("登录号:%d\n",books[n].id);
printf("书名:%s\n",books[n].name);
printf("作者名:%s\n",books[n].wr);
printf("分类号:%d\n",books[n].num);
printf("出版单位:%s\n",books[n].dep);
printf("出版时间:%d\n",books[n].time);
printf("价格:%f\n",books[n].pri);
return n;}
}
printf("\n输入错误或登录号不存在.\n");
return -1;
}//⑦
void book_del(void)
{
int n;
page_title("注销图书基本信息");
if((n=search_id())!=-1) books[n].id=0;
printf("\n!该图书已注销.\n");
return_confirm();
}

Qyouu
浏览 167回答 2
2回答

慕娘9325324

既然没有参数那就不需要void main(void)、void browser(void)了吧,你的函数定义是非法的,那就是函数里面有问题了,那个整个程序给出来看看吧?

慕姐4208626

看出错提示,应该是在函数内部定义了函数。 莫非你的{}不匹配?
随时随地看视频慕课网APP
我要回答