当前位置: 首页 > news >正文

使用 C 语言快速排序将字符串按照 ASCII 码升序排列

示例代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>static Comp(const void *a, const void *b)
{char *pa = (char *)a;char *pb = (char *)b;return strcmp(a, b);
}int main(void)
{char strs[3][10] = { "bd", "am", "kn" };qsort(strs, 3, sizeof(strs[0]), Comp);for (int i = 0; i < 3; ++i) {printf("%s ", strs[i]);}return 0;
}

运行结果:

说明:传参时不可使用 qsort(strs【0】, 3, sizeof(strs[0]), Comp),原因:strs 被解释为一个数组类型,被认定为 strs[0] 具有 3 * 10 = 30 字节,而实际仅仅具有 10 字节,会发生内存写越界,后果不可预料。

示例代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>static Comp(const void *a, const void *b)
{char *pa = (char *)a;char *pb = (char *)b;return strcmp(a, b);
}int main(void)
{char strs[3][10] = { "bd", "am", "kn" };qsort(strs[0], 3, sizeof(strs[0]), Comp);for (int i = 0; i < 3; ++i) {printf("%s ", strs[i]);}return 0;
}

编译结果: 

http://www.lryc.cn/news/238150.html

相关文章:

  • 自动化运维中间件架构概况
  • fractional Brownian Motion driven stochastic integrals
  • c++模式之单例模式详解
  • 【gpts】学算法题[缺失的第一个正数](https://leetcode.cn/problems/first-missing-positive/)
  • 车牌识别 支持12种中文车牌类型 车牌数据集下载
  • Servlet---上传文件
  • 量子计算+物流!“最后一英里”配送难题Unisys成功实时决策
  • 2023年【四川省安全员A证】复审考试及四川省安全员A证考试试题
  • C++刷题 -- 二分查找
  • PHPmail 发送邮件错误 550 的原因是什么?
  • 数字化转型导师坚鹏:数字化时代银行网点厅堂营销5大难点分析
  • www.testfire.nets渗透测试报告
  • 多模态大一统:通向全模态学习和通用人工智能的未来之路
  • 实用篇-ES-DSL查询文档
  • Nacos配置管理
  • 【前端学java】Java中的异常处理(15)完结
  • 深入理解MySQL存储引擎、InnoDB与MyISAM的比较以及事务处理机制
  • webpack 中,filename 和 chunkFilename 的区别
  • gitlab 实战
  • openGauss学习笔记-128 openGauss 数据库管理-设置透明数据加密(TDE)
  • Redis从入门到精通(三)-高阶篇
  • 线性表--队列-1
  • 【开题报告】基于uni-app的汽车租赁app的设计与实现
  • Java实现围棋算法
  • python -opencv 边缘检测
  • Hadoop-- hdfs
  • 《论文阅读》CAB:认知、情感和行为的共情对话生成 DASFAA 2023
  • 审计dvwa高难度命令执行漏洞的代码,编写实例说明如下函数的用法
  • 国科大数据挖掘期末复习——聚类分析
  • 【经验之谈·高频PCB电路设计常见的66个问题】