11601
题目
基本大小写转换:输入一个字符:如果是小写字母,输出其对应的大写字母;如果是大写字母,输出其对应的小写字母;如果是其他字符,原样输出。
答案
c
#include <ctype.h>
#include <stdio.h>
int main(void) {
int ch = getchar();
if (ch == EOF) {
return 1;
}
if (islower((unsigned char)ch)) {
ch = toupper((unsigned char)ch);
} else if (isupper((unsigned char)ch)) {
ch = tolower((unsigned char)ch);
}
putchar(ch);
putchar('\n');
return 0;
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
调用 <ctype.h> 中的分类和转换函数时,把字符值转换成 unsigned char 后再传入,可以避免负值字符带来的未定义行为。