模拟实现 strstr

#include <stdio.h>
#include <assert.h>

char* my_strstr(const char* str1,const char* str2)
{
const char *start = str1;
const char *substr = str2;
const char *cur = str1;

assert(str1 != NULL);
assert(str2 != NULL);

if (*substr == '\0')
{
return NULL;
}
while (*cur)
{
cur = start;
while (*start == *substr)
{ 
if (*substr == '\0')
break;
start++;
substr++;
}
if (*substr == '\0')
return (char*)cur;
substr = str2;
start = ++cur;
}
return NULL;
}
int main()
{
char *str1 = "hello peiqi";
char *str2 = "llo p"; 
char* ret = 0;
ret = my_strstr(str1,str2);
printf("%s\n",ret);
return 0;
}

全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务