qsort函数 结构体比较(strcmp函数(比较字符串的大小))

strcmp函数应用于qsort函数,排序创建函数指针时比较字符串大小。

这里我创建了一个简单的学生结构体,这个结构体只包含名字跟年龄两个信息。

在创建函数指针cmp_stu_age后,进行年龄大小比较,强制类型转换成stu*。

int cmp_stu_age(const void* p1, const void* p2)
{
    return ((stu*)p1)->age - ((stu*)p2)->age;
}
 

strcmp函数:strcmp是C语言标准库中的一个函数,用于比较两个字符串。它会逐个字符比较两个字符串,直到遇到不同的字符或者其中一个字符串结束为止。比较规则是按照字符的ASCII码值进行比较。函数的返回值为整数,如果字符串相等则返回0,如果第一个字符串小于第二个字符串则返回负值,如果第一个字符串大于第二个字符串则返回正值。

比较字符串大小。与长短无关,比较字母的大小例如avc与abcdef,这里avc就大于abcdef,因为第二位v大于b。

stu arr[] = { {"zhangsan",29},{"lisi", 30}, {"wanwu", 28} };
printf("%d", strcmp(arr[0].name, arr[1].name));

运行出的值为1,又Z的ascll值大于L。

可见选择结构体中的成员不同,结果也不同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/421385.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot 项目读取yaml的配置文件信息给静态方法使用,以及通过配置 ResourceBundle 类读取config.properties

读取yaml 的配置文件 配置文件信息 iot_saas_tenement:user_id: 7........8d9bprivate_key: MII.......qQbj_url: http://4.....5:8088project_name: iot_s.......rojectdevice_name: te.....ice 创建一个类 ProxyProperties 读取配置文件信息,并对外提供get方法 …

Python爬虫——Urllib库-2

编解码 问题引入 例如: https://www.baidu.com/s?wd章若楠 https://www.baidu.com/s?wd%E7%AB%A0%E8%8B%A5%E6%A5%A0 第二部分的一串乱码就是章若楠 如果这里是写的章若楠就会 产生这样的错误 所以我们就可以使用get请求方式的quote方法了 get请求方式的q…

EasyRecovery2024国产免费的手机数据恢复软件

一、功能介绍 EasyRecovery手机数据恢复软件是一款功能全面的数据恢复工具,专为移动设备设计。其主要功能包括: 文件恢复:能够恢复手机中因各种原因丢失的文件,如照片、视频、音频、文档等。深度扫描:通过深度扫描手…

CSS 盒子模型(box model)

概念 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:外边距(margin),边框(border),内边距(pad…

Linux/Centos 部署静态IP,解决无法访问目标主机、Destination Host Unreachable、无法ping通互联网的问题

Linux/Centos 部署IP,解决无法访问目标主机、Destination Host Unreachable、无法ping通互联网的问题 Linux/Centos 部署静态IP查物理机/自身电脑的IP设置VMware上的虚拟网络编辑器设置网卡IP,激活至此就可访问百度了 Linux/Centos 部署静态IP 需要注意…

Zookeeper学习1:概述、安装、应用场景、集群配置

文章目录 概述安装LinuxWindows 配置参数集群参考配置文件配置步骤流程启动 概述 Zookeeper: 为分布式框架组件提供协调服务的中间件 【类似:文件系统通知机制】 负责存储上下层应用关系的数据以及接收观察者注册监听,一旦观察查关心的数据发…

力扣SQL50 无效的推文 查询

Problem: 1683. 无效的推文 思路 👨‍🏫 参考 char_length(str):计算 str 的字符长度length(str):计算 str 的字节长度 Code select tweet_id from Tweets where char_length(content) > 15;

Docker中使用Tomcat并部署war工程

系列文章目录 文章目录 系列文章目录前言一、构建镜像二、运行镜像三、列出正在运行的容器四、停止正在运行的容器 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文…

java 基础上(1)(核心知识搭配代码)

前言 java的学习分为了上部分以及下部分进行学习,上部分就是对于java的基础知识,面向对象上,面向对象下,异常操作,javaApi;下部主要是集合,泛型,反射,IO流,J…

AcWing 466. 回文日期

先贴个题目: 以及原题链接:466. 回文日期 - AcWing题库https://www.acwing.com/problem/content/468/ 这题乍一看有点恶心,如果枚举日期还要判断合法性,然后每个日期再判断是不是回文,即麻烦,时间复杂度又高…

CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)

一点 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>css flex布局-画骰子</title><sty…

APP自动化测试-入门示例

入门示例 通过上一篇博客APP自动化测试介绍-CSDN博客的学习&#xff0c;相信大家对APP自动化测试已经有了一定的了解&#xff0c;下面演示一下入门示例 1. 配置Appium 1.1. 点击Appium图标&#xff0c;打开服务器&#xff1a; 1.2. 点击Edit Configurations,进入配置页面&am…

vue3项目中如何一个vue组件中的一个div里面的图片铺满整个屏幕样式如何设置

在Vue 3项目中&#xff0c;要使一个div内的图片铺满整个屏幕&#xff0c;你需要确保几个关键点&#xff1a;div元素和图片元素的样式设置正确&#xff0c;以及确保它们能够覆盖整个视口&#xff08;viewport&#xff09;。以下是一个简单的步骤和代码示例&#xff0c;帮助你实现…

帝国cms7.5仿非小号区块链门户资讯网站源码 带手机版

帝国cms7.5仿非小号区块链门户资讯网站源码 带手机版 带自动采集 开发环境&#xff1a;帝国cms 7.5 安装环境&#xff1a;phpmysql 包含火车头采集规则和模块&#xff0c;采集目标站非小号官网。 专业的数字货币大数据平台模板&#xff0c;采用帝国cms7.5内核仿制&#xff0…

Android挖取原图手指触点区域RectF(并框线标记)放大到ImageView宽高与矩阵mapRadius,Kotlin

Android挖取原图手指触点区域RectF(并框线标记)放大到ImageView宽高与矩阵mapRadius&#xff0c;Kotlin 这里 Android挖取原图中心区域RectF(并框线标记)放大到ImageView宽高&#xff0c;Kotlin-CSDN博客 实现的是把原图中心区域的一片小图挖取出来放大放到下面的ImageView里面…

STM32------分析GPIO寄存器

一、初始LED原理图 共阴极led LED发光二极管&#xff0c;需要有电流通过才能点亮&#xff0c;当有电压差就会产生电流 二极管两端的电压差超过2.7v就会有电流通过 电阻的作用 由于公式IV/R 不加电阻容易造成瞬间电流无穷大 发光二极管工作电流为10-20MA 3.3v / 1kΩ 3.…

深度学习-回顾经典AlexNet网络:山高我为峰

深度学习-回顾经典AlexNet网络之山高我为峰 深度学习中&#xff0c;经典网络引领一波又一波的技术革命&#xff0c;从LetNet到当前最火的GPT所用的Transformer&#xff0c;它们把AI技术不断推向高潮。2012年AlexNet大放异彩&#xff0c;它把深度学习技术引领第一个高峰&#x…

iOS消息发送流程

Objc的方法调用基于消息发送机制。即Objc中的方法调用&#xff0c;在底层实际都是通过调用objc_msgSend方法向对象消息发送消息来实现的。在iOS中&#xff0c; 实例对象的方法主要存储在类的方法列表中&#xff0c;类方法则是主要存储在原类中。 向对象发送消息&#xff0c;核心…

Flink:动态表 / 时态表 / 版本表 / 普通表 概念区别澄清

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

git安装4.3

一、git的安装 1、下载git包 下载git包url&#xff1a;https://git-scm.com/download/win 下载包分为&#xff1a;64位和32位 2、点击安装包 2、选择安装路径 3、 点击下一步 4、点击next 5、点击next 6、点击next 7、 8、 9、 10、 11、 12、在桌面空白处&#xff0c;右键…
最新文章