c语言问题:编写程序判断字符串S1是否包含字符串S2.(不使用库函数)

来源:百度知道 编辑:UC知道 时间:2024/05/28 16:19:28
如题,急死了。明天就要交啊!!!
编写程序判断字符串S1是否包含字符串S2.(不使用库函数)

#include<stdio.h>

int strstr(char *s1,char*s2)
{
char *p1=s1,*p2=s2;

while(*p1)
{
if(*p1==*p2)
{
while(*p1&&*p2)
{
if(*p1==*p2)
{//相等则继续比较
p1++;
p2++;
}
else
{//不相等,回退后继续比较
p1=p1-(p2-s2)+1;
p2=s2;
break;
}
}
if(!*p2)
{//比较完子串,完全相等
return 1;
}
}
p1++;
}
return 0;//不包含
}

main()
{
char s1[100],s2[100];

printf("Input 2 strings:\n");
scanf("%s",s1);
scanf("%s",s2);
if(strstr(s1,s2))
{
printf("s1 include s2!\n");
}
else
{
printf("s1 don't include s2!\n");
}
}