计算字符串中子串出现的次数c语言
时间: 2023-12-12 16:02:51 浏览: 239
计算字符串中子串出现的次数
5星 · 资源好评率100%
可以使用循环和字符串比较函数来计算字符串中子串出现的次数。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int countSubstring(char *str, char *substr) {
int count = 0;
int len = strlen(substr);
while (*str) {
if (strncmp(str, substr, len) == 0) {
count++;
}
str++;
}
return count;
}
int main() {
char str[] = "hello world";
char substr[] = "l";
int count = countSubstring(str, substr);
printf("'%s' appears %d times in '%s'\n", substr, count, str);
return 0;
}
```
这个代码会输出:
```
'l' appears 3 times in 'hello world'
```
注意这个代码只计算了出现的次数,没有考虑重叠情况。例如,如果子串是 "ll",那么在 "hello world" 中它出现的次数应该是 1,但是上面的代码会输出 2,因为 "l" 出现了两次。如果需要考虑重叠情况,可以在上面的循环中加上一个步长,例如每次移动两个字符。
阅读全文