int main(void)
{
char *sourse,*dst;
char a[MAX],b[MAX];
int i=0,dstlen=0,flag=0;
sourse=a;
dst=b;
printf("Input the sourse string\n");
gets(sourse);
printf("Input the dst string\n");
gets(dst);
while(*dst++!='\0')
dstlen++;
dst=b;
while(*sourse!='\0')
{
flag=0;
if(*sourse==*dst)/*得到第一个相等的字符*/
{
dst++;
i++;
flag=1;
}
if(*dst=='\0') /*如果字串结束则退出*/
break;
sourse++;
if(flag) /*如果第一个字符相等则判断字串的第二个字符跟母串接下来的字符是否相等*/
if(*dst!=*sourse)
{
i=0;
dst=b;
continue;
}
}
if(i!=dstlen)
printf("dst string not in sourse string\n");
else
printf("In it\n");
}
再来一个
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,sum,len_one,len_two;
char Fir_array[50],Sec_array[20];
char *Out_init,*In_init,*p,*q;
printf("请输入第一个字符串:");
In_init=gets(Fir_array);
len_one = strlen(Fir_array);
printf("请输入第二个字符串:");
Out_init=gets(Sec_array);
len_two = strlen(Out_init);
if(len_one-len_two<0)
{
printf("Out of it\n");
return 0;
}
for(i=0;i<=len_one-len_two;i++)
{
sum=0;
p=In_init;
q=Out_init;
while(*p==*q)
{
sum++;
p++;
q++;
}
if(sum>=len_two)
{
printf("In it\n");
return 0;
}
In_init++;
}
printf("Out of it\n");
return 0;
}