c语言中将字符串str1中的小写字母全部转换成大写字母,大写字母全部转换成小写字母,其他字符不变,生成一个新的字符串str2...
时间: 2024-03-06 13:51:57 浏览: 21
可以使用C语言中的字符处理函数`toupper`和`tolower`来实现字符串大小写转换。具体的做法如下:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void str_case_convert(char* str1, char* str2) {
int len = strlen(str1);
int i;
for (i = 0; i < len; i++) {
if (islower(str1[i])) {
str2[i] = toupper(str1[i]);
} else if (isupper(str1[i])) {
str2[i] = tolower(str1[i]);
} else {
str2[i] = str1[i];
}
}
str2[len] = '\0';
}
int main() {
char str1[] = "Hello, World!";
char str2[100];
str_case_convert(str1, str2);
printf("%s\n", str2);
return 0;
}
```
这里的`str_case_convert`函数接受两个参数,第一个是需要转换大小写的字符串`str1`,第二个是保存转换结果的字符串`str2`。函数通过遍历`str1`中每个字符,判断其是否为小写字母、大写字母或其他字符,然后调用`toupper`或`tolower`函数进行转换,并将转换结果保存到`str2`中。最后在`str2`末尾添加一个空字符,表示字符串结束。调用示例输出结果为:`hELLO, wORLD!`。