#include<stdio.h>
#include<assert.h>
char* my_strstr(const char* p1,const char* p2)
{
assert(p1 && p2);//检查p1和p2是否为空指针
//创建s1,s2来在p1,p2中进行移动,创建指针tmp来保存开始移动时的s1的位置
char* s1=NULL;
char* s2=NULL;
char* tmp=(char*)p1;
//对p1字符串进行判断是否为空字符
if (!*p1)
{
return (char*)p1;
}
//进行查找循环
while (*tmp)
{
s1 = (char*)tmp;
s2 = (char*)p2;
//开始查找循环
while (*s1&&*s2&&(*s1==*s2))
{
s1++;
s2++;
}
//判断查找循环停止的原因
if (!*s2)
{
return tmp;
}
tmp++;
}
return NULL;
}
int main(void)
{
const char* p1 = {"abbcdefg"};
const char* p2 = { "bcde" };
char* k = my_strstr(p1, p2);
//对my_strtsr函数中所传回的值进行判断
if (k == NULL)
{
printf("不存在\n");
}
else
printf("%s\n", k);
return 0;
}
入门c语言--基于c库函数strstr的实现
原创
©著作权归作者所有:来自51CTO博客作者城南花以开的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【C语言加油站】qsort函数的模拟实现
【C语言加油站】qsort函数的模拟实现本文详细介绍了使用冒泡排序的逻辑模拟实现可以排序任意类型数组的qsort函数……
C语言 qsort排序函数 冒泡排序 回调函数 void*指针 -
[c语言] 模拟实现c语言库函数atoi
题目:模拟实现c语言库函数atoi//使用c语言编写函数,将一个数字字符串转换为对应的数字
#include 库函数 c语言 -
[C语言]模拟实现C语言库函数atof
题目:模拟实现C语言库函数atof思路:1.要记录小数点后面的位数,遇到小数点后,将coun
#include c语言 功能类 -
c语言的库函数
常见的系统头文件包括stdio.h(标准输入输出库)、stdlib.h(标准库函数)、string.h(字符串处理函数)等。第三方头文件
c语言 开发语言 头文件 标准库函数 库函数 -
C语言库函数
C语言函数库查询:[url]http://www.8594.net/Dev_Doc/txt_doc/CLib/[/url]
C语言 程序 设计 休闲 库函数 -
模拟实现库函数strstr
模拟实现库函数strstr 代码如下#include<stdio.h>const char* mystrstr(const char*src
库 函数 i++ 库函数 #include -
sparksql取余数
一、项目背景二、项目需求 (1)需求 ①各省销售指标,每个省份的销售额统计 ②TOP3销售省份中,有多少家店铺日均销售额1000+ ③TOP3省份中,各个省份的平均单价 &
sparksql取余数 spark sql hive