给一个主串和子串判断是否有子串C语言
时间: 2024-05-15 15:15:06 浏览: 88
C语言查找子串
实现:
```c
#include <stdio.h>
#include <string.h>
int isSubstring(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
for(int i=0; i<=len1-len2; i++) {
int j;
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 the main string: ");
scanf("%s", str1);
printf("Enter the substring: ");
scanf("%s", str2);
if(isSubstring(str1, str2))
printf("The substring is present.\n");
else
printf("The substring is not present.\n");
return 0;
}
```
该程序首先输入主串和子串,然后调用`isSubstring`函数来判断子串是否在主串中出现。`isSubstring`函数使用两个指针来遍历主串和子串,并比较它们的字符。如果子串中的所有字符都在主串中匹配,则`isSubstring`函数返回1,否则返回0。
示例输出:
```
Enter the main string: hello world
Enter the substring: world
The substring is present.
```
阅读全文