在C语言中,可以使用标准库函数qsort()
来对字符数组进行排序,同时需要自定义一个比较函数来指定排序的规则。
比较函数的声明如下:
int compare(const void *a, const void *b);
比较函数的实现如下:
int compare(const void *a, const void *b) {
return *(char*)a - *(char*)b;
}
在比较函数中,参数a
和b
都是void
类型的指针,需要将其转换为char
类型的指针,并取出其值进行比较。比如上面的比较函数就是按照字符的ASCII码值进行升序排序。
最后,将比较函数传递给qsort()
函数进行排序:
char str[] = "hello";
int len = strlen(str);
qsort(str, len, sizeof(char), compare);
这样就可以对字符数组str
进行排序了。