温馨提示×

字符排序c语言中的比较函数

小樊
83
2024-07-09 14:48:23
栏目: 编程语言

在C语言中,可以使用标准库函数qsort()来对字符数组进行排序,同时需要自定义一个比较函数来指定排序的规则。

比较函数的声明如下:

int compare(const void *a, const void *b);

比较函数的实现如下:

int compare(const void *a, const void *b) {
    return *(char*)a - *(char*)b;
}

在比较函数中,参数ab都是void类型的指针,需要将其转换为char类型的指针,并取出其值进行比较。比如上面的比较函数就是按照字符的ASCII码值进行升序排序。

最后,将比较函数传递给qsort()函数进行排序:

char str[] = "hello";
int len = strlen(str);
qsort(str, len, sizeof(char), compare);

这样就可以对字符数组str进行排序了。

0