c语言:给字符串排序的函数怎么用
时间: 2023-08-13 19:04:53 浏览: 209
用c语言给字符串排序
可以使用C语言中的库函数`qsort()`来对字符串进行排序。`qsort()`函数需要四个参数:待排序数组的首元素地址、待排序数组中元素的个数、每个元素的大小、比较函数的地址。比较函数用于指定两个元素的大小关系,如果第一个元素小于第二个元素,返回负整数;如果两个元素相等,返回0;如果第一个元素大于第二个元素,返回正整数。
下面是一个示例程序,演示如何使用`qsort()`函数对字符串数组进行排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 比较函数,按字典序比较两个字符串的大小
int cmp(const void *a, const void *b) {
return strcmp(*(const char **)a, *(const char **)b);
}
int main() {
char *str[] = {"hello", "world", "apple", "banana", "cat"};
int len = sizeof(str) / sizeof(char *);
// 使用 qsort() 函数对字符串数组进行排序
qsort(str, len, sizeof(char *), cmp);
// 输出排序后的字符串数组
for (int i = 0; i < len; i++) {
printf("%s ", str[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
apple banana cat hello world
```
在这个示例程序中,`cmp()`函数用于按字典序比较两个字符串的大小。`qsort()`函数将字符串数组`str`按照`cmp()`函数指定的比较方式进行排序。最后,使用循环遍历排序后的字符串数组,并输出每个字符串。
阅读全文