写这类模拟实现功能函数的题首先要弄清楚要实现的函数的参数返回值等基本信息,其次就是实现其功能的过程

const char *My_strstr(const char *str1, const char *str2)

{ const chars1 = NULL; const chars2 = NULL; const char *flag = str1; while (*str1 != '\0') { s1 = flag;//s1回退到上一次的下一个位置 s2 = str2;//s2回退到str2的起始位置 while (*s1 != '\0'&&*s2 != '\0'&&*s1 == *s2) { s1++; s2++; } if (*s2 == '\0') { return flag; } if (*s1 == '\0') { return NULL; } flag++; } return NULL; } int main() { char str1[100] = "accdef"; char str2[] = "cd"; printf("%s\n", My_strstr(str1, str2)); system("pause"); return 0; }