御笔剑客 发表于 2018-6-5 11:45:22

这段代码的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;
}

BngThea 发表于 2018-6-5 11:55:35

id和grade都要取地址
页: [1]
查看完整版本: 这段代码的for循环为什么执行一次就停止了??