主要是 fun函数的形参是这么写 struct Stu *s 多一个结构体声明
如果不是结构体 就是fun(int *s)
#include <stdio.h>
struct Stu{
char id[20];
char name[20];
double score;
}s[3];
void fun(struct Stu *s) // 传的是结构体数组 本质还是数组就是前面有一个struct Stu结构体声明
{
double t;
for(int j = 1;j<3;j++)
for(int i=0;i<3-j;i++)
{
if(s[i].score > s[i+1].score)
{
t = s[i].score;
s[i].score = s[i+1].score;
s[i+1].score = t;
}
}
}
int main(void)
{
for(int i=0;i<3;i++)
{
printf("请输入第%d个学生学号:姓名:成绩:\n",i+1);
scanf("%s%s%lf", s[i].id, s[i].name, &s[i].score);
}
fun(s);
for(int i=0;i<3;i++)
{
printf("学号:%s,姓名:%s,成绩:%lf\n",s[2-i].id,s[2-i].name,s[2-i].score);
}
return 0;
}