c - 如何在c中对双指针进行字母顺序排序?

标签 c string pointers alphabetical double-pointer

qsort(Names, numberOfFriends, 50, strcmp);

我尝试对名称进行字母顺序排序(这是一个双指针)。双指针中的每个字符串都是动态分配的字符串,这意味着每个字符串都有不同的大小。 qsort 函数的参数之一是字符串的大小(它实际上是一个用于二维数组的函数,而不是用于动态分配字符串的双指针)。

如何对具有动态分配字符串的双指针进行字母顺序排序?

最佳答案

部分答案

字符串中的字符数并不那么重要 - 请参阅 this question - strcmp 将比较数组的前 n 字节,其中前 n-1 字节相同。

因此,要比较 Names[i]Names[j],您应该能够使用

differentce=strcmp(Names[i], Names[j]);

前提是 Names 声明为 char ** Names

如果您需要有关如何执行此操作的更多帮助,我建议您在问题中添加更多代码。

关于c - 如何在c中对双指针进行字母顺序排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50076615/

相关文章:

c - 我正在尝试找出正确的语法

string - 是否有一种有效的算法来找到具有最差交换距离的给定字符串的排列?

c++ - 使用新结构的聚合初始化是否有效?

c - 显示进度指示器

c - 返回 C 中表达式的类型,即它是右值还是左值

c - ssh 中不兼容指针类型的赋值

java - 如何使用正则表达式解析字符串

PHP json_decode 返回错误代码 4

function - 值接收器与指针接收器

C++:将 this 指针传递给另一个类