This question already has answers here:
How to qsort an array of pointers to char in C?
(8个答案)
2年前关闭。
我试图对名称进行字母排序(其中是双指针)。双指针中的每个字符串都是动态分配的字符串,这意味着每个字符串的大小都不同。 qsort函数的参数之一是字符串的大小(它实际上是针对2d数组的函数,不适用于具有动态分配的字符串的双指针)。
如何对已动态分配字符串的双指针按字母顺序排序?
前提是将
如果您需要更多有关此操作的帮助,建议您在问题中添加更多代码。
(8个答案)
2年前关闭。
qsort(Names, numberOfFriends, 50, strcmp);
我试图对名称进行字母排序(其中是双指针)。双指针中的每个字符串都是动态分配的字符串,这意味着每个字符串的大小都不同。 qsort函数的参数之一是字符串的大小(它实际上是针对2d数组的函数,不适用于具有动态分配的字符串的双指针)。
如何对已动态分配字符串的双指针按字母顺序排序?
最佳答案
部分答案
字符串中的字符数不是很重要-请参见this question-strcmp
将比较数组的前n
个字节,其中前n-1
个字节相同。
所以比较Names[i]
和Names[j]
您应该可以使用
differentce=strcmp(Names[i], Names[j]);
前提是将
Names
声明为char ** Names
。如果您需要更多有关此操作的帮助,建议您在问题中添加更多代码。
10-04 19:09