如何判断一个字符串是否包含另一个字符串?
思路:从一个字符串中提取出可能与另一个字符串相同的部分,再进行比较。
代码:
#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;}
测试结果: