n 
 n 
 n 
 n 
 n 
一、对整型数组排序
Int main()
{
 
 
 
 
 
}
int cmp ( const void *a , const void *b )
 {
      
 int *c=(int *)a; //(int*)是强制类型转换
Int *d=(int *)b;
return *c-*d;
}
等同于return *(int *)a - *(int *)b;
二、对char类型数组排序(同int类型)
 n 
 n 
 n 
 n 
 n 
 n 
 n 
 n 
 n 
 {
     
 char *c=(char *)a; //(char*)是强制类型转换
 n 
 n 
 n 
 n 
等同于return *(char *)a - *(char *)b;
三、对double类型数组排序(同int类型)
 n 
 n 
 n 
 n 
 n 
 n 
 
int cmp ( const void *a , const void *b )
 {
     
 double *c,*d;
c=(double *)a;
d=(double *)b;
return *c>*d ? 1 : -1; //不是return *c-*d
}
等同于return *(double*)a > *(double *)b ? 1:-1;
四、对结构体数组一级排序
 n 
 {
     
 char name[10];
 int score;
 }stu[100];
 n 
 n 
 struct student *c, *d;
 n 
 n 
 n 
 n 
 n 
五、对结构体数组二级排序
按照成绩的值从大到小排序,
成绩相同者按姓名从小到大排序
 n 
 {
     
 char name[10];
 int score;
 }stu[100];
 n 
 n 
 struct student *c, *d;
 n 
 n 
 n 
 n 
 n 
 n 
 n 
 n