用c语言将一个字符串列表指针中每个成员按ASCII生序排列,生成新的字符串列表指针
时间: 2024-02-20 19:00:02 浏览: 78
可以使用C标准库中提供的qsort函数来进行排序。具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STR_LEN 100
#define MAX_STR_NUM 10
// 比较函数,按照ASCII码从小到大排序
int cmp(const void* a, const void* b) {
const char* s1 = *(const char**)a;
const char* s2 = *(const char**)b;
return strcmp(s1, s2);
}
int main() {
char* str_list[MAX_STR_NUM] = {
"hello",
"world",
"apple",
"banana",
"orange",
"cherry",
"dog",
"cat",
"bird",
"fish"
};
int str_num = sizeof(str_list) / sizeof(char*);
// 排序
qsort(str_list, str_num, sizeof(char*), cmp);
// 输出排序后的结果
for (int i = 0; i < str_num; i++) {
printf("%s\n", str_list[i]);
}
return 0;
}
```
以上代码中,使用了两个常量`MAX_STR_LEN`和`MAX_STR_NUM`来限制字符串的最大长度和最大个数。`cmp`函数是用来比较两个字符串的,按照ASCII码从小到大排序。`qsort`函数来实现排序,最后输出排序后的结果。
阅读全文