偶然看到的,速记:
qsort要求的compare函数是这样的:
如果p比q大,返回一个大于0的整数,如果p比q小,返回一个小于0的整数,如果p=q,返回0。
compare为:
int compare(const void *p, const void *q)
{
return *(const char *)p - *(const char *)q;
}
#include<stdio.h> #include<stdlib.h> #include<string.h> int compare(const void *p ,const void *q) { return *(const char *)p - *(const char *)q; } int main() { char a[] = "1312515"; printf("%s ", a); qsort(a, strlen(a), sizeof(char), compare); printf("%s ", a); return 0; }