怎样用qsort对二维字符数组排序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用qsort对二维字符数组排序?相关的知识,希望对你有一定的参考价值。

/*举个示例吧,可以参考改写以适应自己的需要。*/
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

#define M 5
#define N 20

int cmp(const void *,const void *);
int main()

char name[M][N];//M个一维字符数组构成的二维字符数组,维数可以改
int i;
for(i=0;i<M;i++)

scanf("%s",name[i]);//输入部分

qsort(name,M,sizeof(name[0]),cmp);//排序
for(i=0;i<M;i++)

printf("%s\n",name[i]);//输出

getch();
return 0;


/*回调用的比较函数,其实比较的是一位字符数组(字符串)*/
int cmp(const void *p,const void *q)

return strcmp((char *)p,(char *)q); //现在就可以正确排序了、、、
参考技术A 你的二维数组?要举个例。是不是一维的字符串数组呀

以上是关于怎样用qsort对二维字符数组排序?的主要内容,如果未能解决你的问题,请参考以下文章

C语言用qsort函数对二维数组第一列排序,这个

如何用c语言给输入的二维数组每一行排序

使用 stdlib 的 qsort() 对字符串数组进行排序

字符串数组排序(C语言)(qsort库函数)

在c中怎样用qsort对结构体数组进行多级排序

二维数组排序-qsort