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

strcmp 的使用和模拟

目录

函数介绍:

头文件:

语法:

代码演示:

函数模拟:


函数介绍:

  • strcmp是比较大小的函数。
  • 从字符串开始进行比较,如果两个相同位置的字符相同,那么继续往下进行比较,直到遇见不同的位置。
  • 从本质上,比较的是相对位置字符的ASCII值。
  • 比较的标准:
  • 当str1大于str2时,返回值是大于0的数
  • 当str1小于str2时,返回值是小于0的数
  • 当str1和str2相同时,返回值是0

头文件:

#include<string.h>

语法:

int strcmp(const char* str1,const char * str2) 

代码演示:


#include <iostream>
#include<string.h>int main()
{char arr1[ ] = "ABCD";char arr2[ ] = "012345";char arr3[ ] = "EFGH";char arr4[ ] = "ABCD";int a=strcmp(arr1,arr2); // 'A'的ASCII值是81 '0'的ASCII值是48,所以返回值是正数。int b=strcmp(arr1,arr3); // 'A'的ASCII值是81 'E'的ASCII值是85,所以返回值是负数。int c=strcmp(arr1,arr4); // 字符串的对应位置字符相同,所以返回值是0。printf("%d %d %d",a,b,c);return 0;
}    

 

函数模拟:

int my_strcmp(const char* str1, const char* str2)
{int ret = 0;assert(src != NULL);assert(dest != NULL);while (*str1 == *str2) //进行对应位置的字符是否相同的判断,如果相同,那么比较ASCII值就是下一个字符{if (*str1 == '\0')return 0;str1++;str2++;}return *str1 - *str2; //相对因位置的字符不相同时,进行相减,相减的本质是ASCII值相减。//得到的结果由标准来划分,正数str1大,负数str2大,等于0二者相等。
}

 

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

相关文章:

  • 军用加固计算机
  • block层:5. 请求分配
  • L1-038 新世界(Python实现) 测试点全过
  • 【hello git】初识Git
  • Vueelementui动态渲染Radio,Checkbox,笔记
  • SpringDataRedis 使用
  • Redis全局命令与数据结构
  • LibreOffice新一代的办公软件for Mac/Windows免费版
  • Python|OpenCV-读取视频,显示视频并保存视频(3)
  • 上传WSL项目到gitlab
  • 从0开始做yolov5模型剪枝
  • 飞天使-k8s基础组件分析-安全
  • Mysql安装使用
  • 聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化
  • uniapp 使用 mui-player 插件播放 m3u8/flv 视频流
  • 大数据课程K4——Spark的DAGRDD依赖关系
  • disable 禁用元素后无法触发点击事件
  • uni-app开启gzip配置
  • 房屋结构健康监测,科技助力让建筑更安全
  • Android 面试之Glide做了哪些优化?
  • 【韩顺平 零基础30天学会Java】数组、排序和查找(2days)
  • VUE笔记(一)初识vue
  • 3D点云处理:学习总结(更新整理中)
  • Day45|leetcode 70. 爬楼梯、322. 零钱兑换、279.完全平方数
  • arm:day9
  • 【大模型AIGC系列课程 1-2】创建并部署自己的ChatGPT机器人
  • 启动metastore服务报错
  • c 语言 算法 技巧 之 用移位来代替乘除
  • python爬虫实战零基础(3)——某云音乐
  • 渗透测试漏洞原理之---【XSS 跨站脚本攻击】