#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
char* my_strstr( char* dest, char* src)
{
assert(src);
assert(dest);
char* s1 = dest; //s1与s2控制src,dest往下走
char* p = s1; //p是else中方便保存的下一个字符
char* s2 = src;
while (*s1)
{
p = s1; //else中保存的下一个字符
s2 = src;
while (*s1 && *s2 )
{
if (*s1 == *s2)
{
s1++;
s2++;
}
//不相等则将arr1向下走一个字符,再开始比较是否相等
else
{
s1++;
break;
}
}
if (*s2 == '\0') //相等,返回
{
return s1;
}
}
return NULL;
}
int main()
{
char arr1[]= "hello world";
char arr2[]= "llo";
char* ret = my_strstr(arr1, arr2);
printf("%s", ret);
system("pause");
return 0;
}
本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1710634