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);
}
相关推荐
有梦想的小何12 小时前
Cursor AI 编程实战(篇一):Prompt 与案例总结
java·linux·prompt·ai编程
@我漫长的孤独流浪12 小时前
计算机系统核心概念与性能优化全解析
算法·计算机外设
程序 代码狂人12 小时前
Linux查询自己环境的一些基础命令
linux·运维·服务器
如竟没有火炬12 小时前
接雨水22
数据结构·python·算法·leetcode·散列表
ʚ希希ɞ ྀ13 小时前
二叉树的锯齿层序遍历
数据结构·算法
进击切图仔13 小时前
RAG 加载 pdf 文档
linux·前端·pdf
aerror13 小时前
如何使用ubuntu搭建一个无盘PC启动服务器
linux·服务器·ubuntu
SWAGGY..13 小时前
Linux系统编程:(五)基础开发工具:vim编辑器的使用及其配置操作
linux·编辑器·vim
澈20713 小时前
二叉搜索树:高效增删查的秘诀
java·开发语言·算法
无敌昊哥战神13 小时前
大模型(LLM)推理优化技术全景总结
python·算法·大模型