编写chang函数,其函数头部为:void chang(char *ch),功能是修改参数(指针)指向的内存地址中所存放的字母,使原字母进行大小写转换。主函数输入一个字符数据,该数据不为字母时判别出错,该数据为字母时调用该函数实现大小写转换
时间: 2024-02-11 11:08:01 浏览: 28
以下是针对你的问题的 C 语言代码实现:
```c
#include <stdio.h>
#include <ctype.h>
void chang(char *ch) {
if (islower(*ch)) { // 如果是小写字母,转换为大写字母
*ch = toupper(*ch);
} else if (isupper(*ch)) { // 如果是大写字母,转换为小写字母
*ch = tolower(*ch);
}
}
int main() {
char ch;
printf("请输入一个字母:");
scanf("%c", &ch);
if (!isalpha(ch)) { // 判断是否为字母
printf("输入错误!\n");
return 0;
}
chang(&ch); // 调用 chang 函数进行大小写转换
printf("转换后的字母为:%c\n", ch);
return 0;
}
```
在这个程序中,我们首先引入了 `ctype.h` 库,其中包含了判断字符类型的函数 `islower` 和 `isupper`,以及转换字符大小写的函数 `tolower` 和 `toupper`。`chang` 函数接受一个指向字符的指针 `ch`,根据 `*ch` 的值进行大小写转换。在 `main` 函数中,我们先读入一个字符 `ch`,然后判断它是否为字母。如果不是,就输出错误信息;如果是,就调用 `chang` 函数进行大小写转换,并输出转换后的结果。需要注意的是,在调用 `chang` 函数时,我们需要传入 `&ch`,即字符变量 `ch` 的地址,而不是 `ch` 的值。这是因为我们需要修改 `ch` 所指向的内存地址中所存放的字母,而不仅仅是修改 `ch` 变量本身的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)