使用指针编写函数,在一个字符串中统计给定字符的个数。 利用函数编程:输入一行字符串,统计其中有几个字母a、几个字母b、几个字母c。 函数头要求为:int fun_cnt(char *s,char ch)
时间: 2024-10-28 19:12:53 浏览: 27
华为面试题答案找出最大长度子字符串
5星 · 资源好评率100%
函数`fun_cnt`的作用是在输入的字符串`s`中计算指定字符`ch`的个数。它接受两个参数:一个是指向字符串起始位置的指针`char *s`,另一个是要查找的字符`char ch`。下面是一个示例的实现:
```c
#include <stdio.h>
// 函数声明
int fun_cnt(char *s, char ch);
int main() {
char str[] = "Hello, World! There are many 'a's and 'b's in this string.";
char ch_to_count = 'a'; // 需要查找的字符,这里是'a'
int count_a = fun_cnt(str, ch_to_count);
printf("Number of '%c': %d\n", ch_to_count, count_a);
ch_to_count = 'b';
int count_b = fun_cnt(str, ch_to_count);
printf("Number of '%c': %d\n", ch_to_count, count_b);
return 0;
}
// 实现 fun_cnt 函数
int fun_cnt(char *s, char ch) {
int count = 0;
while (*s != '\0') { // 遍历字符串,直到遇到字符串结束符'\0'
if (*s == ch) { // 如果当前字符等于目标字符
count++; // 增加计数器
}
s++; // 指针向前移动到下一个字符
}
return count; // 返回字符在字符串中的次数
}
```
在这个例子中,我们首先定义了`fun_cnt`函数,它通过一个`while`循环检查字符串中的每个字符,如果找到了目标字符`ch`,就增加计数器`count`。当遍历完整个字符串后,返回计数器作为结果。
在主函数中,我们创建了一个包含目标字符的字符串,并分别调用了`fun_cnt`函数两次,一次查找字符'a',一次查找字符'b',然后输出它们的数量。
阅读全文