好券:求教一道C语言问题(急)

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 00:30:07
一道结构体的问题,请高手看看我错在哪啊?提示错误是说定义子函数sort()那一行,提示语句为:Declaration syntax error
typedef struct
{
char dm[5];
char mc[11];
int dj;
int sl;
int je;
}PRO;
PRO sell[M]={{"001","bb",5,10},
{"005","cc",3,100},
{"002","ee",6,20},
{"003","qq",7,30},
{"004","rr",8,50}}
void sort()
{
int i,j,k;
PRO t;
for(i=0;i<M;i++)
sell[i].je=sell[i].dj*sell[i].sl;
for(i=0;i<M;i++)
{
k=i;
for(j=i+1;j<M;j++)
if(strcmp(sell[k].dm,sell[j].dm)<0)
k=j;
else if(strcmp(sell[k].dm,sell[j].dm)==0)
if(sell[k].je<sell[j].je)
k=j;
if(k!=i)
{
t=sell[i];
sell[i]=sell[k];
sell[k]=t;
}
}
}
main()
{
int i;
clrscr();
sort();
for(i=0;i<M;i++)
printf("%s %s %d %d %ld\n",sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);
}
开头漏了一句#define M 5

void sort()的前面
定义那个数组的地方
PRO sell[M]={{"001","bb",5,10},
{"005","cc",3,100},
{"002","ee",6,20},
{"003","qq",7,30},
{"004","rr",8,50}}
后面加一个分号

PRO sell[M]={{"001","bb",5,10},
{"005","cc",3,100},
{"002","ee",6,20},
{"003","qq",7,30},
{"004","rr",8,50}};<- 这里少了个分号呵呵

前面的数组定义没有分号,编译程序认为没有定义完,所以就报错,定义语法错误。