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

[字符串和内存函数]strcmp字符串函数的详解和模拟

strcmp函数

strcmp函数是一个用于比较两个字符串的C标准库函数。它的原型为:


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

strcmp函数会比较str1和str2两个字符串的字符序列,并返回一个整数值来表示它们之间的大小关系。返回值的含义如下:

- 如果str1和str2相等,返回0。
- 如果str1小于str2,返回一个负数。
- 如果str1大于str2,返回一个正数。

以下是一个使用strcmp函数的示例:

#include <stdio.h>
#include <string.h>int main() {char str1[] = "Hello";char str2[] = "World";int result = strcmp(str1, str2);if (result == 0) {printf("str1和str2相等\n");} else if (result < 0) {printf("str1小于str2\n");} else {printf("str1大于str2\n");}return 0;
}

输出结果为: str1小于str2

strcmp函数模拟 

思路


(1)由于要比较两个字符串,所传入字符串后不能改变其值要用const对str1和str2进行修饰保护并对sre1与str2进行断言保护

(2)使用循环并解引用str1和str2并判断其是否相等,如果相等循环继续str1++并且str2++直到遇到'\0'此时返回0

(3)若发现str1与str2解引用后不相等则返回*str1-*str2       

代码


//模拟实现 
int my_strcmp(const char* str1, const char* str2)
{assert(str1 && str2);while (*str1 == *str2){if (*str1 == '\0'){return 0;}str1++;str2++;}return(*str1 - *str2);
}

 

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

相关文章:

  • zookeeper 常见问题处理
  • repo 命令
  • 一、 计算机网络概论
  • 从零学习开发一个RISC-V操作系统(一)丨计算机组成原理相关知识与RISC-V指令集简介
  • C++ - 异常介绍和使用
  • iText实战--在现有PDF上工作
  • SQL优化--count优化
  • IDEA下使用Spring MVC
  • 2022基金从业人员资格管理及后续职业培训 部分答案(自答)
  • 阿里云通义千问向全社会开放,近期将开源更大参数规模大模型
  • 数据结构:二叉查找树
  • Redis的介绍,安装Redis的方式
  • 深入理解CI/CD流程:改变你的开发生命周期
  • 【React】React入门
  • 面相面试知识--Lottery项目
  • 《Python趣味工具》——自制emoji2(2)
  • 【面试刷题】——C++四种类型转化
  • 集成Activiti-Modeler流程设计器
  • 【深度学习】 Python 和 NumPy 系列教程(十一):NumPy详解:3、数组数学(元素、数组、矩阵级别的各种运算)
  • python难题切片处理
  • 《研发效能(DevOps)工程师(中级)认证》证书查询方式和路径丨IDCF
  • NVR添加rtsp流模拟GB28181视频通道
  • 浅谈C++|文件篇
  • C++ QT qml 学习之 做个登录界面
  • LLM 06-大模型架构
  • openGauss学习笔记-71 openGauss 数据库管理-创建和管理普通表-删除表中数据
  • 【k8s】kube-proxy 工作模式
  • Linux:Centos9 《下载-安装》
  • 数字化管理平台建设实践
  • Linux命令(80)之sort