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]);
	}
}

 

posted @ 2022-05-03 09:58  水很大  阅读(715)  评论(0)    收藏  举报