请写出“将一行字符串中的大写字母转换成小写字母,小写字母转换成大写字母,其他字符不变,最大长度不超过50”的C语言代码
时间: 2024-09-10 14:28:02 浏览: 69
java实现将字符串中首字母转换成大写,其它全部转换成小写的方法示例
5星 · 资源好评率100%
下面是一个C语言函数示例,该函数接受一个字符串参数,并按照您的要求进行大小写转换,同时确保处理后的字符串长度不超过50个字符。
```c
#include <stdio.h>
#include <ctype.h> // 为了使用tolower()和toupper()
// 函数声明
void swapCase(char *str);
int main() {
char str[] = "Hello World! 123";
printf("Original string: %s\n", str);
swapCase(str);
printf("Swapped case string: %s\n", str);
return 0;
}
// 函数定义
void swapCase(char *str) {
char temp;
int count = 0; // 用于计数,防止超过长度限制
while (*str && count < 50) { // 确保不越界且不超过50个字符
if (isupper(*str)) {
*str = tolower(*str); // 如果是大写,转换为小写
} else if (islower(*str)) {
*str = toupper(*str); // 如果是小写,转换为大写
}
str++; // 移动到下一个字符
count++; // 计数增加
}
}
```
这个程序首先包含了标准输入输出头文件`stdio.h`和字符处理函数库头文件`ctype.h`。`swapCase`函数实现了字符大小写的转换,并限制了字符串的长度。`main`函数则用来演示如何调用这个函数,并展示了转换前后的字符串。
阅读全文