请教一个判断字符串包含的问题
假如给定两个字符串 a[20]="Hello!boys and girls!",b[20]="boys".
如何编程判断b字符串是否包含于a字符串?
我自己编了一个,但感觉比较笨拙复杂,请教大家有没有更好的方法.
#include<stdio.h>
#include<string.h>
void main()
{
char x[30],a[30]="Hello!boys and girls!";
int i,j,len_a,len_x;
printf("请输入要判断的字符串:");
gets(x);
len_a=strlen(a);
len_x=strlen(x);
for(i=0;i<=len_a-len_x;i++)
{
if(a[i]==x[0])
{
for(j=0;j<len_x;j++)
{
if(a[j+i]!=x[j])
break;
}
}
if(j==len_x)
break;
}
if(j==len_x)
printf("该字符串包含于已知字符串!\n");
else
printf("该字符串不包含于已知字符串!\n");
}