C语言编程实现:编写函数,实现如果用户输入的字母为小写字母,则转换为大写字母,如果输入的是大写字母,则转换成小写字母,其他字符不变。要求:函数的实参为指针变量
时间: 2024-12-26 22:28:11 浏览: 1
在C语言中,你可以通过函数指针和`ctype.h`库提供的函数来实现这个功能。这里是一个简单的示例,定义了一个接受字符指针并返回转换后的字符的函数:
```c
#include <stdio.h>
#include <ctype.h>
// 定义一个函数,接收指向char的指针,并转换字母大小写
int convert_case(char *ch) {
if (islower(*ch)) { // 如果是小写字母
return toupper(*ch); // 转换为大写
} else if (isupper(*ch)) { // 如果是大写字母
return tolower(*ch); // 转换为小写
} else { // 其他非字母字符保持不变
return *ch;
}
}
int main() {
char input[100];
printf("请输入一个字符:");
fgets(input, sizeof(input), stdin);
// 检查输入是否结束
if (input[strlen(input)-1] == '\n') {
input[strlen(input)-1] = '\0'; // 去除换行符
}
for (int i = 0; input[i]; ++i) {
input[i] = convert_case(&input[i]); // 逐个字符处理
}
printf("转换后的字符:%s\n", input);
return 0;
}
```
在这个程序中,`convert_case`函数会检查传入的字符,如果是小写字母则调用`toupper`,如果是大写字母则调用`tolower`,如果不是字母则直接返回原字符。然后在主函数中读取用户的输入,并遍历每个字符应用该函数。
阅读全文