已知一个字符串,设计一个算法,求出该串中某个字符串出现的次数,用c语言表示完整代码
时间: 2024-10-22 12:27:12 浏览: 28
基于字符串模式匹配算法的病毒感染检测问题 实验四(源代码+实验报告)
在C语言中,可以使用`strchr()`函数配合循环结构来计算一个字符串中另一个子串出现的次数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
int count_occurrences(char *haystack, char *needle) {
int count = 0;
while (haystack != NULL) {
if (strstr(haystack, needle) != NULL) { // 使用strstr查找子串
count++; // 找到就加1
haystack += strlen(needle); // 移动指针到下一个潜在的位置
} else {
haystack = strchr(haystack, '\0'); // 如果没找到就查找下一个字符
}
}
return count;
}
int main() {
char str[] = "Hello, World! Hello again!";
char substr[] = "Hello";
printf("'%s' 出现了 %d 次\n", substr, count_occurrences(str, substr));
return 0;
}
```
这个`count_occurrences`函数会返回`substr`在`str`中出现的次数。注意,由于C语言字符串以空字符`\0`结束,所以在找不到子串时,我们会检查下一个空字符。
阅读全文