qsort 没有对字符串数组进行排序[重复]

2023-12-14

我尝试使用 qsort 对字符串数组进行排序。这是我的数组的内容:

{"a","orange","apple","mobile","car"}

这就是我使用 qsort 的方式:

int myCompare (const void * a, const void * b ) {
  const char *pa = (const char*)a;
  const char *pb = (const char*)b;
  return strcmp(pa,pb);
}

int stringLen = sizeof(input)/sizeof(char *);
qsort(input, stringLen, sizeof (char*), myCompare);

但是,当我打印数组时,没有任何变化。这有什么问题吗?


我已将您的 myCompare 函数更改为 Mitch Wheat 之前发布的函数,并且工作正常。这是例子:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int myCompare (const void * a, const void * b ) {
    const char *pa = *(const char**)a;
    const char *pb = *(const char**)b;

    return strcmp(pa,pb);
}

int main() {
    int i;
    const char *input[] = {"a","orange","apple","mobile","car"};

    int stringLen = sizeof(input) / sizeof(char *);
    qsort(input, stringLen, sizeof(char *), myCompare);

    for (i=0; i<stringLen; ++i)
        printf("%d: %s\n", i, input[i]);
}

这将返回:

0: a
1: apple
2: car
3: mobile
4: orange
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qsort 没有对字符串数组进行排序[重复] 的相关文章

  • 更新面板工作速度非常慢

    我正在编写一个用户可以注册的应用程序 注册时 可以选择多个选项 并根据这些注册字段可见或不可见以及是否必需 我想出了一个想法 所有字段都将位于 updatePanel 中 当用户更改注册选项时 我将在服务器端设置这些字段的可见性 它可以工作
  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • Grpc - 将消息从一个客户端发送到连接到同一服务器的另一个客户端

    是否可以将消息从一个客户端发送到连接到同一服务器的另一个客户端 我想将数据从一个客户端发送到服务器然后发送到特定客户端 我想我需要获取客户端 ID 但我不知道如何获取此 ID 以及如何从服务器将此消息发送到该客户端 我这里有一个样本 这是一
  • 如何在类文件中使用 Url.Action() ?

    如何在 MVC 项目的类文件中使用 Url Action Like namespace 3harf public class myFunction public static void CheckUserAdminPanelPermissi
  • MVC3中设置下拉列表中的所选项目

    我必须为视图中的下拉列表设置所选项目 但它不起作用 View div class editor label Html LabelFor model gt model Gender div div class editor field Htm
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • 传递 constexpr 对象

    我决定给予新的C 14的定义constexpr旋转并充分利用它 我决定编写一个小的编译时字符串解析器 然而 我正在努力保持我的对象constexpr将其传递给函数时 考虑以下代码 include
  • RestSharp获取序列化输出

    我正在寻找一种方法来访问 AddBody 调用的序列化结果 我正在使用内置的 RestSharp 序列化器 例子 class Foo public string FooField void SendRecord var f new Foo
  • 获取没有显式特征的整数模板参数的有符号/无符号变体

    我希望定义一个模板类 其模板参数始终是整数类型 该类将包含两个成员 其中之一是类型T 另一个作为类型的无符号变体T 即如果T int then T Unsigned unsigned int 我的第一直觉是这样做 template
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 在 VS 中运行时如何查看 C# 控制台程序的输出?

    我刚刚编写了一个名为 helloworld 的聪明程序 它是一个 C NET 4 5 控制台应用程序 在扭曲的嵌套逻辑迷宫深处 使用了 Console WriteLine 当我在命令行运行它时 它会运行并且我会看到输出 我可以执行其他命令并
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 将二变量 std::function 转换为单变量 std::function

    我有一个函数 它获取两个值 x 和 y 并返回结果 std function lt double double double gt mult double x double y return x y 现在我想得到一个常量 y 的单变量函数
  • Oauth2中如何同时撤销RefreshToken和使AccessToken失效

    我正在使用 Owin Oauth2 授权和资源服务器相同 开发单页面应用程序 AngularJS Net MVC Json Rest API 的身份验证流程 我选择了 Bearer Token 路由而不是传统的 cookie session
  • C++ 对象用 new 创建,用 free() 销毁;这有多糟糕?

    我正在修改一个相对较大的 C 程序 不幸的是 并不总是清楚我之前的人使用的是 C 还是 C 语法 这是在一所大学的电气工程系 我们 EE 总是想用 C 来做所有事情 不幸的是 在这种情况下 人们实际上可以逃脱惩罚 但是 如果有人创建一个对象
  • C++:为什么 numeric_limits 对它不知道的类型起作用?

    我创建了自己的类型 没有任何比较器 也没有专门化std numeric limits 尽管如此 由于某种原因 std numeric limits
  • 在 Win32 控制台应用程序中设置光标位置

    如何在 Win32 控制台应用程序中设置光标位置 最好 我想避免制作句柄并使用 Windows 控制台功能 我花了整个早上沿着那条黑暗的小巷跑 它产生的问题比它解决的问题还要多 我似乎记得当我在大学时使用 stdio 做这件事相对简单 但我
  • 当用户更改 Windows 中的语言键盘布局时如何通知?

    I want to show a message to user when the user changes the language keyboard layout of Windows for example from EN to FR
  • 如何在 C 中将 char 连接到 char* ?

    我怎样才能前置char c to char myChar 我有c值为 A and myChar值为 LL 我怎样才能前置c to myChar使 ALL 这应该有效 include

随机推荐

  • 迁移到 androidx 后,膨胀类 androidx.appcompat.widget.FitWindowsFrameLayout 时出错

    我迁移到AndroidX 然后如果我尝试使用以下命令将项目运行到模拟器中 则会收到错误API 29 在模拟器 真实设备上没有问题API 28和以前的 java lang RuntimeException Unable to start ac
  • 在SVN中共享文件

    我正在从 VSS 迁移到 SVN 但我不知道如何在 SVN 中共享文件 基本上我们在VSS中有以下结构 MOSS Components ComponentA bin ComponentB bin GAC Mirror GAC Mirror
  • 如何在 Java 中执行与 StringBuilder 附加相反的操作?

    下列情况的反面是什么 savedPlanets append planet getDisplayName 我有一个列表 每次用户单击复选框时我都会添加行星的名称 如果清除该复选框 我想从保存的行星中删除该名称 您可以执行以下操作 saved
  • Fluent nHibernate 错误 - 无法编译映射文档:(XmlDocument)

    我已阅读有关 Fluent nHibernate 的所有问题 但没有找到答案 我正在尝试运行入门教程here我收到此错误 无法编译映射文档 XmlDocument 当我运行 CreateSessionFactory 时发生错误 privat
  • CakePHP:调用非对象上的成员函数 find()

    查看我的管理索引时出现以下错误 Notice 8 Undefined property ClientsController Clients APP controllers clients controller php line 27 Cal
  • Storyboard 无法实例化名为 UIStoryboardUnwindSegueTemplate 的类崩溃

    我刚刚完成了有关 Storyboard 的 Apple 教程 并在运行 iOS 5 1 1 的 iPhone 4 上运行了该应用程序 在模拟器上 当我按下添加按钮时 我得到从底部向上滑动的模态视图 没有崩溃 我可以输入数据 点击完成按钮并显
  • 如何定义“类型”的含义

    摘自埃里克 利珀特的博客 about 是 的意思是什么 类型的一个常见概念是 类型是值的集合 而赋值兼容性只是检查给定值是否是必要集合的成员 但 C 中的情况并非如此 他给出的反例是null is string回报false but str
  • wso2 身份服务器 oauth userinfo 仅返回 sub

    我已经在wso2身份服务器中设置了SP 并且能够使用playground在auth2中获取access token 参考 https docs wso2 com display IS510 OAuth 2 0 with WSO2 Playg
  • 如何提高 Django 管理搜索中相关字段的查询性能 (MySQL)

    在 Django 中我有这个 模型 py class Book models Model isbn models CharField max length 16 db index True title models CharField ma
  • 如何让 OS X 识别驱动器号?

    我知道 异端 但我陷入了困境 我有很多使用绝对路径名的配置文件 这导致 OS X 和 Windows 之间不兼容 如果我能让 OS X 我敢打赌是两者中更灵活的一个 识别问 foo bar bim properties作为有效的绝对文件名
  • 在 Windows 上使用参数静默运行安装程序 (.exe)

    我有一个 Windows 安装文件 exe 用于安装软件 这是第三方可执行文件 在安装过程中 它需要特定的值并有一个 UI 我想以静默方式运行此 setup exe 无需任何手动干预 即使是提供参数值 在花了一些时间谷歌搜索该方法之后 我觉
  • 根据用户输入编写包含变量 WHERE 的查询

    我在查询时遇到问题 我希望它做的是检查每个变量是否存在 如果不存在则忽略它们 我还想在表格中显示结果 任何帮助将不胜感激 到目前为止我所拥有的 这是我的代码 目前 它返回一个包含数据库中所有结果的数组 但如果我将 WHERE 子句中的 OR
  • 如何从 WSDL URL 生成 WSDL 文件?

    我的问题是我创建了一个网络服务客户端wsimport当创建其服务对象时 由于 HTTPS 它失败了 如下所示 MyService Service service new MyService Service new URL https www
  • 检查 JSON 中是否存在对象

    我需要知道 JSON 字符串中是否存在某个对象 并根据该对象的存在执行不同的操作 如果它不存在 我想省略该对象 因为它会抛出 NullPonterException 我尝试过使用if但没有成功 有人可以告诉我如何检查对象的存在吗 先感谢您
  • Java WAR - 从外部 JAR 加载 Spring bean

    我想在我的 Spring MVC Web 应用程序 打包为 WAR 中加载一些带有注释的 Spring 框架 bean Service来自外部 jar 它负责访问数据库和位于类路径中在 WEB INF lib 下 如果可能的话 最好使用以下
  • Azure DevOps 存储库备份副本 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我们已经创建了存储库https dev azure com 运行良好 现在 我的经理希望定期获得该存储库的备份副本 我向经理解释说https dev
  • 将 div 内的图像与响应高度垂直对齐

    我有以下代码 它设置一个容器 当调整浏览器大小 以保持方形纵横比 时 该容器的高度随宽度而变化 HTML div class responsive container div class dummy div div class img co
  • 如何使用 Meteor 为 MongoDB 提供配置?

    The meteor命令都会启动 Meteor 和 MongoDB 我怎么有meteor启动 MongoDB 时执行与此命令等效的命令mongod profile 1 slowms 1 或者 meteor 使用的某个地方是否有 mongo
  • Symfony ChoiceType $choices - 标签和值交换

    交响乐2 8 2 根据 Symfony 文档 选择选项是一个数组 其中数组键是项目的标签 数组值是项目的值 http symfony com doc 2 8 reference forms types choice html choices
  • qsort 没有对字符串数组进行排序[重复]

    这个问题在这里已经有答案了 我尝试使用 qsort 对字符串数组进行排序 这是我的数组的内容 a orange apple mobile car 这就是我使用 qsort 的方式 int myCompare const void a con