实现 strStr() 函数。
char* my_strstr(char* str, char* sub_str)
{
char* src = str;
char* des = sub_str;
while (*str != '\0' && *sub_str!= '\0')
{
if (*str == *sub_str)/*匹配上一个字符之后,将源字符串和子字符串都往后走,判断后边的字符串是不是能匹配上*/
{
str++;
sub_str++;
}
else /*开始没有匹配上的时候,将源字符串一直向后走*/
{
str++;
src = str;/*将匹配到的地址记下来,给主函数返回*/
}
}
return src;
}
int main()
{
char str[] = "abcde";
char substr[] = "cd";
char* p = my_strstr(str, substr);
printf("%s",p);
return 0;
}
对于测试用例为 char str[] = "abcde";
char substr[] = "cd";
char* p = my_strstr(str, substr); 是可以实现的。