用C语言编写程序,在主函数中调用函数,计算字符串中某指定子串出现的次数。 要求:使用指向字符串和要查找的子串的指针,返回次数。
时间: 2024-02-11 20:08:15 浏览: 88
好的,这是一个计算字符串中指定子串出现次数的 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int countSubstr(char *str, char *substr) {
int cnt = 0;
int len = strlen(substr);
while (*str != '\0') {
if (strncmp(str, substr, len) == 0) {
cnt++;
}
str++;
}
return cnt;
}
int main() {
char str[100];
char substr[100];
printf("请输入字符串:");
fgets(str, 100, stdin);
printf("请输入子串:");
fgets(substr, 100, stdin);
int cnt = countSubstr(str, substr);
printf("子串在字符串中出现的次数为:%d\n", cnt);
return 0;
}
```
这个程序使用了指向字符串和要查找的子串的指针,利用 `strncmp` 函数进行子串匹配,然后统计出现次数。在主函数中,通过 `fgets` 函数读入字符串和子串,调用 `countSubstr` 函数计算出现次数,并输出结果。注意使用 `fgets` 函数来读入字符串和子串,而不是 `scanf` 函数,避免输入过长导致的缓冲区溢出问题。
阅读全文