快排的第4个参数
问题描述
我想写个能够排序多种类型的函数. 当我着手排序字符串时, 发现直接把strcmp传递给qsort后, 无法正常排序。
解决方法
我注意到strcmp的参数与快排第4个参数的形参并不一致。 我便自己写了个比较函数, 问题solved!
附上
1 /* 2 ** 比较两个字符串 3 */ 4 int str_cmp ( void const *p1, void const *p2 ) 5 { 6 char *str1; 7 char *str2; 8 9 str1 = *(char **)p1; 10 str2 = *(char **)p2; 11 return strcmp( str1, str2 ); 12 }