This question already has answers here:
How to qsort an array of pointers to char in C?
                                
                                    (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