模拟实现strstr,查询目标字符串中是否含有所查的子串,里面的要点是记录目标字符串移动时当前指针的位置,本文中采用cur来记录。#include <stdio.h> #include<assert.h> char* my_strstr(char* p1,char* p2) { assert(p1 && p2); char* cur = p1; char* s1 = p1; char* s2 = p2; if (*s2 == '\0') return p1; while (*cur) { s1 = cur; s2 = p2; while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2) { s1++; s2++; } if (*s2 == '\0') { return cur; } cur++; } return NULL; } int main() { char arr1[] = "abbcdef"; char arr2[] = "bcd"; char* ret=my_strstr(arr1, arr2); if (ret == NULL) printf("找不到子串"); else printf("是子串"); }
模拟实现库函数strstr 以及模拟实现函数 memcpy
原创wx5e5882f9860a4 ©著作权
文章标签 模拟实现strstr函数编写 文章分类 C/C++ 后端开发
上一篇:一些有趣的编程题
下一篇:模拟实现函数 memcpy

-
【C语言加油站】qsort函数的模拟实现
【C语言加油站】qsort函数的模拟实现本文详细介绍了使用冒泡排序的逻辑模拟实现可以排序任意类型数组的qsort函数……
C语言 qsort排序函数 冒泡排序 回调函数 void*指针 -
模拟实现库函数strstr
模拟实现库函数strstr 代码如下#include<stdio.h>const char* mystrstr(const char*src
库 函数 i++ 库函数 #include -
模拟库函数strstr
my_strstr
#include 子串 bc -
模拟实现strstr函数
找朋友(模拟实现strstr函数)
C语言 面试题 -
模拟实现函数 memcpy
编程完整实现任意类型的数据拷贝;亮点是char*的强制类型转换。
c编程;模拟实现memcpy -
模拟实现strstr库函数(指针回退问题)
2.当第一个字符串访问到最后一个’\0‘字符,这里有可能找到也有可能没有找到,找到了是因为它与第二个字符串刚好同时访问到了
前端 算法 javascript 字符串 bc