这段代码的for循环为什么执行一次就停止了??
#include <stdio.h>#include <stdlib.h>
typedef struct Stu{
int id;
char name;
int grade;
}Stu;
int cmp(const void *a,const void *b){
return (*(Stu *)a).grade>(*(Stu *)b).grade;
}
int main(void){
Stu arr;
printf("请输入入5个学生的姓名、学号和成绩:\n");
for(int i=0;i<5;i++){
scanf("%s %d %d",arr.name,arr.id,arr.grade);
}
qsort(arr,5,sizeof(Stu),cmp);
for(int i=0;i<5;i++){
printf("%s %d %d\n",arr.name,arr.id,arr.grade);
}
return 0;
}
id和grade都要取地址
页:
[1]