当前位置: 代码迷 >> C语言 >> [求助]各位,大小转换写用C怎么编写
  详细解决方案

[求助]各位,大小转换写用C怎么编写

热度:180   发布时间:2006-06-21 08:37:19.0
以下是引用cordier在2006-6-21 8:20:32的发言:

以前学汇编的时候,自己想的。

那俺给加了...
反正俺是以前看别人的


----------------解决方案--------------------------------------------------------
咦..被别人抢先了.谁加的精
----------------解决方案--------------------------------------------------------
ASCII码设计的时候已经考虑到这点了
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-21 07:52:04
cordier

等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
  得分:0 
相同字母的大写与小写之间相差32也就是ASCII码的值在第6位(从最低位为1数起)

而异或的一个显著特点是
与0异或时,它的值不变,
与1异或时,它的值相反。

所以只要将英文字母ASCII码的第6位与1异或,其他位与0异或便可实现大小写的双向转换
----------------解决方案--------------------------------------------------------
太强了
----------------解决方案--------------------------------------------------------
兄弟我写一个最简单的吧:

#include<stdio.h>
main()
{
char c1,c2;
scanf("%c,&c1");
printf("The upper case is %c\n",c1);
c2=c1+'a'-'A';
printf("The lower case is %c\n",c2);
}
----------------解决方案--------------------------------------------------------
  相关解决方案