char *my_strstr(const char *str, const char *substr)
{
assert(str != NULL);
assert(substr != NULL);
const char *s1 = str;//父串
const char *s2 = substr;//子串
const char *cur = str;//记录父串地址,每次将其往后挪一个
//特殊情况
if (*substr == '\0')
return str;
while (*cur!='\0')
{
s1 = cur;
s2 = substr;
while (*s1 == *s2)//如果子串和父串相等,向后比较
{
s1++;
s2++;
}
if (*s2 == '\0')
{
return (char *)cur;
}
if (*s1 == '\0')
{
return NULL;
}
cur++;
}
return NULL;
}
模拟实现strstr函数
最新推荐文章于 2022-10-14 09:32:19 发布