如何判断一个字符串是否包含另一个字符串?
思路:从一个字符串中提取出可能与另一个字符串相同的部分,再进行比较。
代码:
#include <stdio.h>
#include <string.h>
int main()
{
char a[20] = { 0 }, b[20] = { 0 }, c[20] = { 0 };
//a,b为输入的两个字符串,c为用于与b比较的字符串
int i = 0, j = 0;
int flag = 0;//判断结果的标志
scanf("%s %s", a, b);
int len = strlen(b);
for (i = 0; a[i]; i++)
{
if (a[i] = b[0])//找到与b[0]相同的值a[i]
{
for (j = 0; j < len; j++)//将从a[i]开始往后的共len个字符储存到c中
{
c[j] = a[i + j];
}
}
if (strcmp(b, c) == 0)//将c与b比较,成立则输出yes,否则继续找下一个与b[0]相同的a[i]
{
flag = 1;
printf("yes");
break;
}
}
if (flag == 0)
printf("no");
return 0;
}
测试结果: