C语言 小写转大写,大写转小写,数字不显示
ctype.h 中的isalpha函数,判断字符ch是否为英文字母,若为英文字母,真, 返回非0.小写字母 返回1; 大写字母返回 2, 若不是字母, 返回 0
isdigit函数,主要用于检查其参数是否为十进制数字字符。
当ch | 32 => 大写转小写 小写不变
ch ^ 32 => 大写转小写同时小写转大写
ch &~ 32 => 小写转大写 大写不变
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
//编写一个程序,可以一直接收键盘字符,
//如果是小写字符就输出对应的大写字符,
//如果接收的是大写字符,就输出对应的小写字符,
//如果是数字不输出。
int main(){
char ch;
while (1){
ch = getchar();
if (isalpha(ch)){
putchar(ch ^ 32);
//^ 可以改变某一位的状态
//| 可以强制某一位变1
//&~ 可以强制某一位变0
}
else if (isdigit(ch)){
//do nothing 不显示
}
else{
putchar(ch);// 不变
}
}
system("pause");
return 0;
}