C编译时出问题。关于函数调用结构体数组

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:37:56
#include <stdio.h>
void sort(struct stu stuarr[]);
void main(){
struct stu{
int sn;
char number[13];
int math;
int english;
int computer;
int average;
int total;
};
struct stu stuarr[10];
printf("按顺序输入学号、数学成绩、英语成绩、计算机成绩:\n");
for(int i=0;i<10;i++)
{
stuarr[i].sn=i;
scanf("%s%d%d%d",stuarr[i].number,&stuarr[i].math,&stuarr[i].english,&stuarr[i].computer);
stuarr[i].average=(stuarr[i].math+stuarr[i].english+stuarr[i].computer)/3;
stuarr[i].total=stuarr[i].math+stuarr[i].english+stuarr[i].computer;
}
sort(stuarr);
}

void sort(struct stu v[],int left,int right)
{}

编译时出错,提示
1>d:\my documents\visual studio 2005\projects\test2\test2\main.cpp(22) : error C2664: “sort”: 不能将参数 1 从“main::stu [10]”转换为“stu []”

怎么回事?
void sort(struct stu v[],int left,int r

#include <stdio.h>
struct stu{
int sn;
char number[13];
int math;
int english;
int computer;
int average;
int total;
};
void sort(struct stu v[]);
void main(){
struct stu stuarr[10];
printf("按顺序输入学号、数学成绩、英语成绩、计算机成绩:\n");
for(int i=0;i<10;i++)
{
stuarr[i].sn=i;
scanf("%s%d%d%d",stuarr[i].number,&stuarr[i].math,&stuarr[i].english,&stuarr[i].computer);
stuarr[i].average=(stuarr[i].math+stuarr[i].english+stuarr[i].computer)/3;
stuarr[i].total=stuarr[i].math+stuarr[i].english+stuarr[i].computer;
}
sort(stuarr);
}

void sort(struct stu v[])
{}

结构体的定义要在MAIN的外面~~~~~