模拟实现strstr 找到母串中是否有与子串相同的部分(代码)

cs 复制代码
//#模拟实现strstr
//char *strstr(const char *str1, const char *str2)
#include <stdio.h>
char* my_s(const char* str1, const char* str2)
{
	//用指针记录两个字符串的起始位置
	const char* s1 = str1;
	const char* s2 = str2;
	//指针记录字符串查找初次相等的位置
	const char* cur = str1;
	while (cur)
	{
		s1 = cur;
		s2 = str2;
		while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2)//循环比较两个字符串
		{
			s1++;
			s2++;
		}
		//cur++;//s1 s2不相等时cur++, 相等时cur指向初次相等的位置不变
		if (*s2 == '\0')//找全相等的字符串  子串s2已经结束
		{
			return cur;
		}
		cur++;//s1 s2不相等时cur++, 相等时cur指向初次相等的位置不变
	}return NULL;//遍历完没有找到相同的字符串
}


int main()
{
	const char* str1 = "adbbbcef";
	const char* str2 = "bbc";
	char* ret;
	ret = my_s(str1, str2);
	printf("%s", ret);
	return 0;
}
相关推荐
LinXunFeng12 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
唐青枫2 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Artech2 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf
Scout-leaf4 天前
C#摸鱼实录——IoC与DI案例详解
c#
咕白m6254 天前
使用 C# 在 Excel 中应用多种字体样式
后端·c#
Artech4 天前
[MAF预定义的AIContextProvider-02]AgentSkillsProvider——将Agent Skills引入MAF
ai·c#·agent·agent skills·maf
LDR0065 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
Luminous.5 天前
C语言--day30
c语言·开发语言
玖玥拾5 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
謓泽5 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言