目录
前言
库函数strstr():const char* strstr(const char* str1,const char* str2);strstr()求字符串str1中是否存在子字符串str2,所以需要两个字符串地址,返回一个字符指针。
实现原理:
//模拟实现strstr()在一个字符串中寻找另外一个字符串
#include<stdio.h>
#include<assert.h>
char* my_strstr(const char* s1, const char* s2)
//s2是被查找字符串的字符指针
{
assert(s1 && s2);//先判定都不是空指针
const char* ps1 = NULL;//设定两个指针,分别作为临时变量,当两字符串相同且不为\0时的地址
const char* ps2 = NULL;
const char* p = s1;//设定一个临时指针,存放大字符串的首地址,方便后面查找
if (*s2 =='\0')//当被查找字符串为空字符串时,返回str1的地址即这里的临时指针变量p
{
return p;
}
while (*p)//当存放str1某个元素的地址的内容不为0时进入循环
{