编写函数char*invert_char(char s[]),输入一串字符(包括字母和其他符号),将字母中的大写转化为小写,小写转化为大写,最后返回转换后的字符串
时间: 2023-05-23 14:02:08 浏览: 121
下面是invert_char函数的完整代码实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
char* invert_char(char s[]) {
int len = strlen(s);
for (int i = 0; i < len; i++) {
if (isalpha(s[i])) {
if (islower(s[i])) {
s[i] = toupper(s[i]);
} else if (isupper(s[i])) {
s[i] = tolower(s[i]);
}
}
}
return s;
}
int main() {
char s[] = "heLLo, wORLd!";
printf("%s\n", invert_char(s));
return 0;
}
```
这个函数可以接受一个以null结尾的C字符串作为输入,然后对其中的每个字母进行大小写转换,并返回转换后的字符串。
对于输入字符串中的每个字符,我们首先使用isalpha函数来判断该字符是否为字母。如果是字母,我们再使用islower和isupper函数来判断该字符是否为小写字母或大写字母,然后使用tolower和toupper函数进行转换。最后将转换后的字符串返回即可。
对于输入字符串"heLLo, wORLd!",函数的输出结果为"HEllO, WorlD!"。
阅读全文