用qsort对字符串数组排序的一些问题
我想利用qsort对字符串数组进行排序,代码如下:但是执行出错,请问正确的写法应该是怎么样的呢?
程序代码:
int cmp(const void *ch1, const void *ch2) { return strcmp(*(char **)ch1, *(char **)ch2); } int main() { int num; //手动输入有多少个字符串 scanf("%d", &num); char str[num][100]; //循环录入字符串 for(int i=0; i<num; i++) { scanf("%s", str[i]); } //排序 qsort(str, num, sizeof(char *), cmp); //打印 for(int i=0; i<num; i++) printf("%s ", str[i]); return 0; }