请用c语言判断字符串str2是否整 体包含在字符串str1中
时间: 2023-12-23 19:05:03 浏览: 73
C语言判断字符串是否以str2开头代码
以下是使用 C 语言判断字符串 `str2` 是否整体包含在字符串 `str1` 中的代码:
```c
#include <stdio.h>
#include <string.h>
int isSubstring(char str1[], char str2[]) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int i, j;
for (i = 0; i <= len1 - len2; i++) {
for (j = 0; j < len2; j++) {
if (str1[i+j] != str2[j])
break;
}
if (j == len2)
return 1;
}
return 0;
}
int main() {
char str1[100], str2[100];
printf("Enter string 1: ");
fgets(str1, 100, stdin);
printf("Enter string 2: ");
fgets(str2, 100, stdin);
if (isSubstring(str1, str2))
printf("String 2 is a substring of String 1.\n");
else
printf("String 2 is not a substring of String 1.\n");
return 0;
}
```
代码的逻辑如下:
1. 获取输入的字符串 `str1` 和 `str2`。
2. 遍历 `str1` 中的每个字符,以便找到与 `str2` 相同的子字符串。
3. 比较 `str1` 中当前位置及其后面的字符和 `str2` 中的字符是否全部相同。如果相同,则说明 `str2` 整体包含在 `str1` 中,返回 1。
4. 如果在 `str1` 中没有找到与 `str2` 相同的子字符串,则说明 `str2` 不是 `str1` 的子串,返回 0。
需要注意的是,该算法是区分大小写的。如果要忽略大小写,可以使用 `stricmp` 函数代替 `strcmp` 函数。
阅读全文