C语言第三十八弹--模拟实现strcmp

使用C语言模拟实现strcmp

strcmp 比较两个字符串大小 底层实现:int strcmp(const char* str1,const char* str2)

思路:了解strcmp作用是比较字符串大小,那么就要分三种情况,大,小,相等。然后分别进行处理。比较方法根据实现了解是使用指针进行比较。

代码如下:

c 复制代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int my_strcmp(const char* s1, const char* s2)
{
	assert(s1 && s2);//断言
	while (*s1 == *s2)//字符相同情况
	{
		if (*s1 == '\0')//符合while条件只要其中一个是'\0'证明两个都已经比较完成
		{
			return 0;
		}
		s1++;
		s2++;
	}

	if (*s1 > *s2)//*s1 > *s2
	{
		return 1;
		//return *s1 - *s2;
	}
	else//其它情况
	{
		return -1;
		//return *s1 - *s2;
	}

	//简洁写法 return *s1-*s2 缺点:返回值是随机值
}


int main()
{
	int ret=my_strcmp("abcde", "abcd");
	printf("%d\n",ret);
}
相关推荐
CQU_JIAKE几秒前
9.29【A】
算法·深度优先
高山有多高6 分钟前
【Linux笔记】Linux磁盘文件系统
linux
晓蛋9 分钟前
二级C语言成绩查询方法
c语言·计算机等级考试·成绩查询·官网登录·准考证号
几何心凉16 分钟前
嵌入式Linux系统开发21天速成:从基础开发到综合项目实战
linux·运维·服务器
Tairitsu_H18 分钟前
[Linux系统] 一切皆文件 | 缓冲区机制 | FILE 结构
linux·运维·服务器·文件·缓冲区
blueSatchel22 分钟前
UVC驱动源码研究
linux·嵌入式
没落之王29 分钟前
AI在文言文——论文脉复苏对AI的意义
大数据·人工智能·算法
高山有多高30 分钟前
【Linux笔记】Linux基本指令
linux·运维·笔记
u01110267544 分钟前
工具页案例图如何编写 alt让图片说明与处理场景对应
java·前端·javascript·图像处理·人工智能·算法·ai作画
光子物联单片机1 小时前
STM32传感器模块编程实践(二十二)DIY智能WIFI视频控制小车
c语言·stm32·单片机·嵌入式硬件·音视频