/*
通过位操作实现字母的大小写转化
*/
#include <stdio.h>
unsigned char upandlow(char c)
{
return c ^ 0x20;
//0x20 0010 0000
// ^ 同为0 异为1 任意数与0^ 为原值
// 任意数与1^ 为反值
}
int main(void)
{
unsigned char c;
//0100 0001 65 41 A
//0110 0001 97 61 a
//0010 0000 0x20
//0100 1010 74 4A J
//0110 1010 106 6A j
scanf("%c", &c);
printf("%c转换后为%c\n", c, upandlow(c));
return 0;
}
********************************
a
a转换后为A
E
E转换后为e
通过位操作实现字母的大小写转化
最新推荐文章于 2023-08-05 19:29:24 发布