C语言-qsort对字符串数组排序
方法来自这里
为了以后能快速的找到这个方法特记录在此!
1.比较函数
int cmp(const void* x, const void* y)
{
//因为数组里存的是字符串的地址,所以要强制类型转换成(char **)
//然后再解引用一下才是字符串的地址
return strcmp(*(char**)x, *(char**)y);
}
2.主函数
int main(){
char* dir[] = { "aaaa b","aaaa c","dd a","zz d","fff aa","ab cca","bbb ccb","cc dd" };
int size = sizeof(dir) / sizeof(char*);
qsort(dir, size, sizeof(char*), cmp);
for (int i = 0; i < size; i++) {
printf("%s\n", dir[i]);
}
}

浙公网安备 33010602011771号