用c语言编写函数 int StrCout ( char *str1, char *str2),其功能是统计字符串str2在str1中出现的次数,返回该数值。要求:在主函数中输人str1和str2,调用函数 StrCount (str1,str2)后输出结果
时间: 2023-06-19 15:06:17 浏览: 114
使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法
下面是一个示例实现:
```c
#include <stdio.h>
#include <string.h>
int StrCount(char *str1, char *str2) {
int count = 0;
size_t len1 = strlen(str1);
size_t len2 = strlen(str2);
for (int i = 0; i < len1 - len2 + 1; i++) {
if (strncmp(str1 + i, str2, len2) == 0) {
count++;
}
}
return count;
}
int main() {
char str1[100], str2[100];
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
int count = StrCount(str1, str2);
printf("字符串2在字符串1中出现的次数为:%d\n", count);
return 0;
}
```
这个函数首先通过 `strlen` 函数获取两个字符串的长度,然后通过循环遍历字符串1中所有可能的子串,使用 `strncmp` 函数来比较子串和字符串2是否相等,并统计出现次数。主函数中通过 `scanf` 函数获取两个字符串,调用 `StrCount` 函数并输出结果。
阅读全文