用c语言写输入两个字符串s1s2判断s2是否为s1的子串
时间: 2024-06-03 22:10:34 浏览: 188
C语言判断字符串是否以str2开头代码
可以使用strstr函数来判断s2是否为s1的子串。该函数的原型为:
char *strstr(const char *s1, const char *s2);
其中s1是包含要查找的子串的字符串,s2是要查找的子串。如果s2是s1的子串,则该函数返回指向s1中第一个与s2匹配的位置的指针。如果s2不是s1的子串,则返回NULL指针。
下面是一个示例代码:
#include <stdio.h>
#include <string.h>
int main() {
char s1[100], s2[100];
printf("请输入字符串s1:");
scanf("%s", s1);
printf("请输入字符串s2:");
scanf("%s", s2);
if (strstr(s1, s2)) {
printf("s2是s1的子串。\n");
} else {
printf("s2不是s1的子串。\n");
}
return 0;
}
注意,该代码只能判断s2是否为s1的子串,而不能判断s2是不是s1的子序列(即不要求s2必须连续出现在s1中)。如果要判断s2是不是s1的子序列,可以使用更复杂的算法,比如动态规划。
阅读全文