int search(char *s,char * sub)
{
char *p,*q;
p=s;q=sub;
while(*p)//该语句是为了让指针一直移动下去
{
while((*p!=*q)&&*p)//如果首字符不同,则不断往下移动
p++;
while((*p==*q)&&(*q))//移动到首字符相等的时候,逐个判断
{
p++;q++;
}
if(*q=='\0')//说明都匹配,就说明存在这么一个子串
return 1;
q=sub;//子串的指针移动到首位,为了下一次继续判断
if(*p=='\0')//如果判断到最后,还是没有返回1,说明根本不存在这样的子串
return 0;
}
}
int main()
{
char s[100];
char sub[100];
cout<<"input a string"<<endl;
gets(s);
cout<<"Input a sub "<<endl;
gets(sub);
cout<<search(s,sub)<<endl;
return 0;
}