设计函数,接收两个字符串,判断第二个字符串是否为第一个字符串的子符串。 【提示】第二个字符串的内容全部在第一个字符串中
时间: 2023-10-04 14:09:41 浏览: 212
您可以设计一个函数,接收两个字符串,并判断第二个字符串是否是第一个字符串的子串。下面是一个示例函数的实现:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isSubstring(char* str1, char* str2) {
int length1 = strlen1);
int length2 = strlen(str2);
// 检查边界条件
if (length1 < length2) {
return false;
}
// 在第一个字符串中查找第二个字符串
for (int i = 0; i <= length1 - length2; i++) {
int j;
for (j = 0; j < length2; j++) {
if (str1[i + j] != str2[j]) {
break;
}
}
if (j == length2) {
return true;
}
}
return false;
}
int main() {
char str1[100];
char str2[100];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
bool result = isSubstring(str1, str2);
if (result) {
printf("第二个字符串是第一个字符串的子串。\n");
} else {
printf("第二个字符串不是第一个字符串的子串。\n");
}
return 0;
}
```
在上述代码中,`isSubstring` 函数接收两个字符串 `str1` 和 `str2`。函数使用双重循环来在第一个字符串中查找第二个字符串。如果在循环过程中找到了完全匹配的子串,就返回 `true` 表示第二个字符串是第一个字符串的子串;如果循环结束后仍未找到匹配的子串,则返回 `false` 表示第二个字符串不是第一个字符串的子串。在 `main` 函数中,我们从用户输入中读取两个字符串,并调用 `isSubstring` 函数进行判断。最后,根据返回的结果打印相应的信息。
请注意,这个示例假设输入的字符串没有超过预定义的长度(100),如果您需要处理更长的字符串,请相应地调整数组大小。
希望这可以帮助到您!如果您有任何其他问题,请随时提问。
阅读全文
相关推荐

















