#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int cmp_int(const void* e1, const void* e2){
return (*(int*)e2-*(int*)e1);
}
void test1(){
int arr[]={1,2,3,4,5,6,7,8,9};
int sz=sizeof(arr)/sizeof(arr[0]);
qsort(arr,sz,sizeof(arr[0]),cmp_int);
int i=0;
for(i=0;i<sz;i++){
printf("%d ",arr[i]);
}
}
struct Stu{
char name[20];
int age;
};
int cmp_name(const void* e1,const void* e2 ){
return strcmp(((struct Stu*)e1)->name,((struct Stu*)e2)->name);
}
void test2(){
struct Stu s[]={{"zhangsan",15},{"akwfhuav",23},{"cahf",16}};
int sz=sizeof(s)/sizeof(s[0]);
qsort(s,sz,sizeof(s[0]),cmp_name);
int i=0;
for(i=0;i<sz;i++){
printf("%d ",s[i]);
}
}
int main(){
//test1();
test2();
system("pause");
return 0;
}