Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: C 中的自然排序 - “字符串数组,包含数字和字母”
在使用 qsort 和 strcmp 对 C 中的字符串进行排序时,我遇到的问题是字母数字条目(通常以数字结尾的字符串)被奇怪地排序,如下所示:
期望的行为是这样的:
最简单的方法是什么?
谢谢
这种类型没有什么奇怪的。'1' 出现在 '2' 之前,因此任何具有 'Entry1' 的字符串都将出现在具有 'Entry2' 的任何字符串之前。这就是 strcmp 的定义方式。如果您需要不同的排序顺序,您总是可以编写不同的排序函数。