用c语言编写函数int *count(char *ch_p),形参ch_p指向的字符若是大写字母则用对应的小写字母替换,并使用局部静态变量统计元音字母出现的次数,函数返回该局部静态变量的地址。 编写main函数,输入字符序列,调用count函数处理,并将统计结果保存到main函数的局部变量a中,输出变换后的字符序列及统计结果。
时间: 2023-12-03 16:45:22 浏览: 220
以下是代码实现:
```c
#include <stdio.h>
int *count(char *ch_p) {
static int cnt = 0; // 声明局部静态变量并初始化为0
while (*ch_p) { // 遍历字符序列
if (*ch_p >= 'A' && *ch_p <= 'Z') { // 如果是大写字母
*ch_p += 'a' - 'A'; // 转换为小写字母
}
if (*ch_p == 'a' || *ch_p == 'e' || *ch_p == 'i' || *ch_p == 'o' || *ch_p == 'u') {
cnt++; // 统计元音字母出现次数
}
ch_p++; // 指针后移
}
return &cnt; // 返回局部静态变量的地址
}
int main() {
char str[100];
int *a;
printf("请输入一个字符序列:");
scanf("%s", str);
a = count(str);
printf("变换后的字符序列为:%s\n", str);
printf("元音字母出现次数为:%d\n", *a);
return 0;
}
```
注意事项:
1. 在函数内部使用静态变量来统计元音字母出现次数,是为了保证每次调用该函数时,统计结果不会被重置为0。
2. 在返回局部静态变量的地址时,使用指针类型int *,而不是int,因为只有指针类型才能返回变量的地址。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)