c语言字符数组按ascii排序
时间: 2023-10-26 07:20:32 浏览: 91
你可以使用C语言中的标准库函数`qsort()`来对字符数组进行排序,具体步骤如下:
1. 定义一个字符数组和数组长度,例如:
```c
char arr[] = {'d', 'a', 'c', 'b', 'e'};
int len = sizeof(arr) / sizeof(char);
```
2. 编写比较函数`compare()`,该函数的作用是比较两个字符的大小,如果第一个字符的ASCII码小于第二个字符的ASCII码,则返回负数,如果第一个字符的ASCII码大于第二个字符的ASCII码,则返回正数,如果两个字符的ASCII码相等,则返回0。例如:
```c
int compare(const void *a, const void *b) {
return (*(char*)a - *(char*)b);
}
```
3. 调用`qsort()`函数进行排序,例如:
```c
qsort(arr, len, sizeof(char), compare);
```
完整代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(char*)a - *(char*)b);
}
int main() {
char arr[] = {'d', 'a', 'c', 'b', 'e'};
int len = sizeof(arr) / sizeof(char);
qsort(arr, len, sizeof(char), compare);
for (int i = 0; i < len; i++) {
printf("%c ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
a b c d e
```
阅读全文