<分区>
我有以下问题: 我在 qsort 中的比较函数如下所示:
static int compare(const void *arg1, const void *arg2) {
return strcmp((const char *) arg1, (const char *) arg2);
}
这行不通,所以我查阅了手册页中的代码示例并稍微更改了它,现在它看起来像这样:
static int compare(const void *arg1, const void *arg2) {
return strcmp( *(char * const *) arg1, *(char * const *) arg2);
}
我不明白为什么手册页的方法有效,因为 strcmp 的参数是 const char *s1 和 const char *s2。
我对 C 还很陌生,所以我觉得很难理解这一点。有人可以向我解释一下为什么只有手册页的方法有效。