在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
進行排序了。