69,335
社区成员
发帖
与我相关
我的任务
分享
char *strstr(const char *s1, const char *s2)
{
int n;
if (*s2)
{
while (*s1)
{
for (n=0; *(s1 + n) == *(s2 + n); n++)
{
if (!*(s2 + n + 1))
return (char *)s1;
}
s1++;
}
return NULL;
}
else
return (char *)s1;
}
char *strstr(const char *s1, const char *s2)
{//函数 判断S1从开始位置开始,是否包含S2子串,是则返回*s1,否则返回NULL
int n;//用于字符串循环
if (*s2)
{//*s2不为空
while (*s1)
{//循环直到*s1为空,及S1字符串结束
for (n=0; *(s1 + n) == *(s2 + n); n++)
{//S1字符串从开始位置开始与S2相同的字符
if (!*(s2 + n + 1))
//S2结束,表示S1从第一个字符开始包含S2子串
return (char *)s1;
}
s1++;
}
//表示S2长度大于S1,及S1从第一个字符开始不包含子串S1
return NULL;
}
else
//S2为空
return (char *)s1;
}