C语言问题 下面代码提示 error C2601: 'main' : local function definitions are illegal错误 为什么

#include <stdio.h>
int sort (int *p)
{int k,t,a,b;
{for (a=0;a<=9;a++)
for (k=0,b=0;b<=9;b++)
if (*(p+a)>=*(p+b)) {k=k+1;
if (k==10) {t=*(p+a);
return (t);}
}
}

void main()
{
int a[10],b,t;
for (b=0;b<=9;b++)
{printf("input %d number \n",b+1);
scanf("%d\n",& a[b]);}
t=sort(a);
printf("the max is%d\n",t);
}
}

第1个回答  2011-10-27
#include <stdio.h>

int sort (int *p)
{int k,t,a,b;
{for (a=0;a<=9;a++)
for (k=0,b=0;b<=9;b++)
if (*(p+a)>=*(p+b)) {k=k+1;
if (k==10) {t=*(p+a);
return (t);}
}
}
}//这里少了个括号

int main()
{
int a[10],b,t;
for (b=0;b<=9;b++)
{printf("input %d number \n",b+1);
scanf("%d\n",& a[b]);}
t=sort(a);
printf("the max is%d\n",t);
}
//}//这里多了个括号

改一下你的编程风格:

#include <stdio.h>

int sort (int *p)
{
int k,t,a,b;
for (a=0;a<=9;a++)
{
for (k=0,b=0;b<=9;b++)
{
if (*(p+a)>=*(p+b))
{
k=k+1;
if (k==10) {
t=*(p+a);
return (t);
}
}
}
}
}

int main()
{
int a[10],b,t;
for (b=0;b<=9;b++)
{
printf("input %d number \n",b+1);
scanf("%d\n",& a[b]);
}

t=sort(a);
printf("the max is%d\n",t);
}
第2个回答  2011-10-27
没看明白代码是什么意思?你那个sort函数实现的是什么功能?看起来不像是要排序的样子啊?是排序吗?增加功能性的解释,猜着好累啊。追问

是选择里面最大的数字

第3个回答  2011-10-27
把B的数据类型换成CHAR试试
第4个回答  2011-10-27
你的大括号不配套啊本回答被提问者采纳

...C2601: 'main' : local function definitions are illegal错误 为什么...
include <stdio.h> int sort (int *p){int k,t,a,b;{for (a=0;a<=9;a++)for (k=0,b=0;b<=9;b++)if (*(p+a)>=*(p+b)) {k=k+1;if (k==10) {t=*(p+a);return (t);} } } }\/\/这里少了个括号 int main(){ int a[10],b,t;for (b=0;b<=9;b++)...

...C2601: 'main' : local function definitions are illegal
int f(int x,int y){ return(y-x)*x;} void main(){ int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));cout<<d;} C语言语法中,不允许在函数中定义另一个函数 你把main函数放到f函数体里了,语法错误

...C2601: 'main' : local function definitions are illegal
error C2601: 'main' : local function definitions are illegal 意思是说:main函数定义是非法的,错误代码 C2601。原因:出现这种情况的原因是大括号不匹配,通常是少了右大括号(}),大括号在C中必须成对出现({})。解决办法:查找大括号不匹配的地方,加上缺少的大括号就解决了。

error C2601: 'main' : local function definitions are illegal...请 ...
error C2601: 'main' : local function definitions are illegal...请问怎么改。。? 调试后最后面的主函数有问题。。。#include<stdio.h>#include<stdlib.h>#defineNULL0structstudent{intnum;charname[20];intscore[3];}stu[5];voidsave(){FILE*fp;inti;charfilename;... 调试后最后面的主函数有问题。。

error C2601: 'main' : local function definitions are illegal
main函数定义错 EveryNCallback回调函数定义错 注意你编译环境的要求,是否在复制的时候加入了非法字符,例如中文的空格等等。看这个地方 void CAcqDataDlg::OnStartbutton(){ 这个"{"号对应的"}"号呢?别把main放到你的OnStartbutton中

...main' : local function definitions are illegal
1, 你前面的int yue(int x,int y)少个} 在 void main () 前插入一行括号 } 2, main里面参数x,y,b都没有说明 int t; 改为 int t,x,y; cout<<x<<"和"<<b<<"的最小公倍数是"<<(x*y\/t)<<endl; 改为 cout<<x<<"和"<<y<<"的最小公倍数是"<<(x*y\/t)<<endl;

error C2601: 'main' : local function definitions are illegal
insert那个函数定义少了个结束 }

error C2601: 'main' : local function definitions are illegal
1,你前面的int yue(int x,int y)少个} 在 void main ()前插入一行括号 } 2,main里面参数x,y,b都没有说明 int t;改为 int t,x,y;cout<<x<<"和"<<b<<"的最小公倍数是"<<(x*y\/t)<<endl;改为 cout<<x<<"和"<<y<<"的最小公倍数是"<<(x*y\/t)<<endl;...

...C2601: 'main' : local function definitions are illegal
意思为(本地)定义非法。请检查源代码的错误,这只是主函数

error C2601: 'main' : local function definitions are illegal unexpec...
include<ctype.h> include<string.h> typedef struct { char name;int xuehao;int sc;}STUDENT;STUDENT student[],student11;void fun1(struct student[]){ int i,sum,ave;for(i=0;i<10;i++)sum+=student[i].sc;ave=sum\/10;printf("平均数为:%d",ave);} void fun2(struct student[...

相似回答