用c语言写一个函数判断字符串s中含有字符串p的数量
时间: 2024-10-28 13:12:39 浏览: 24
在C语言中比较两个字符串是否相等的方法
在C语言中,你可以通过遍历和比较的方式来编写一个函数,用于统计字符串`s`中包含字符串`p`的次数。下面是一个简单的示例函数:
```c
#include <stdio.h>
#include <string.h>
int count_substrings(char *s, char *p) {
int count = 0;
size_t plen = strlen(p);
while (strstr(s, p)) { // 使用strstr函数查找子串
s += plen; // 移动s指针到下一个可能的位置
count++;
}
return count;
}
int main() {
char str[] = "Hello, world! This is a test string.";
char substr[] = "is";
int result = count_substrings(str, substr);
printf("The substring '%s' appears %d times in the string.\n", substr, result);
return 0;
}
```
这个`count_substrings`函数会返回`s`中有多少次连续出现`p`。如果需要匹配非连续的子串(如"abcabc"中有两次"abc"),你需要稍微修改一下算法。
阅读全文