seafarer 发表于 2008-7-21 11:08

初级菜鸟求助!!大写字母转小写字母的程序问题

{char ch;
ch=getchar();
if(ch>='A'&& ch<='z') putchar('a'-'A'+ch);
}
请问,这个大写字母转换小写字母的程序中,putchar('a'-'A'+ch)里为什么是'a'-'A'+ch呀?
哪位师傅给讲讲行吗?不胜感激!!!

病书生 发表于 2008-7-21 11:21

if(ch>='A'&& ch<='z') putchar('a'-'A'+ch);

这里是不是写错了 好像该是
if(ch>='A'&& ch<='Z') putchar('a'-'A'+ch);
小写字母比大写字母 多32(好像是) a-A 就是 32了
如果ch是大写字母,那么加上a-A(也就是32)就是小写了

[[it] 本帖最后由 病书生 于 2008-7-21 11:26 编辑 [/it]]

seafarer 发表于 2008-7-21 11:25

不好意思,写错了,我明白了,谢谢书生!

页: [1]

编程论坛