将大写英文字母转换为小写英文字母的程序: #include <stdio.h> void main() { char c; printf("请输入一个字母:"); scanf("%c",&c); if(c>='A'&&c<='Z') printf("\n该字符小写为:%c",c+'a'-'A'); else printf("\n该字符小写为:%c",c); }
为什么c+'a'-'A'就是将大写换为小写.
'a'-'A'所得的数值就是ASCⅡ码里大写和小写之间的差值
'a'的值为97,'A'的值为65,差值为32,也就是每个字母大小写之间的差值为32
你可以把c+'a'-'A'直接写成c+32,一样的
[此贴子已经被作者于2004-05-09 18:37:36编辑过]
谢谢你,那我感觉也应该打个括号啊,应该写成c+('a'-'A'),
打不打括号是一样的
是啊,c+'a'-'A'就相当于c+97-65
换成'b'-‘B'可以么?
1。小写英文字母转换为大写: 原ASCII值+'A'-'a' (即减32)
2。大写英文字母转换为小写: 原ASCII值+'a'-'A' (即加32)