搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于大写字母转换成小写字母的程序
标题:
关于大写字母转换成小写字母的程序
只看楼主
一介草民
等 级:
新手上路
帖 子:18
专家分:0
注 册:2008-1-24
结帖率:
100%
楼主
问题点数:0 回复次数:9
关于大写字母转换成小写字母的程序
下面这是大小写字母转换程序:
{char ch;
ch=getchar();
if(ch>='A'&&ch<='Z') putchar('a'+ch-'A')
}
if(ch>='A'&&ch<='Z')
这语句可以理解,但是后面这个
('a'+ch-'A')
什么意思,为什么这样能转换大小写?能不能举个通俗易懂的例子?
搜索更多相关主题的帖子:
字母
小写
2008-02-06 21:57
闪闪4521
等 级:
新手上路
帖 子:196
专家分:0
注 册:2007-11-30
第
2
楼
得分:0
这个是将大写转换为小写
是通过阿斯科码进行的转换
2008-02-06 22:25
sxn0508
等 级:
新手上路
帖 子:120
专家分:0
注 册:2008-1-24
第
3
楼
得分:0
或许写成这样会更容易理解些ch-'A'+'a'
把‘A’后第几个变成‘a’后第几个
2008-02-06 22:34
hongwu147
等 级:
新手上路
帖 子:47
专家分:0
注 册:2008-2-2
第
4
楼
得分:0
大写字母和小写字母的ASCII码差32,即 大写字母+32=小写字母,而‘a’-‘A’=32
2008-02-07 15:53
s_k_y
等 级:
新手上路
帖 子:113
专家分:0
注 册:2008-2-2
第
5
楼
得分:0
同意3#的!!!!!!
2008-02-12 02:54
有敌手
等 级:
新手上路
帖 子:41
专家分:0
注 册:2008-2-12
第
6
楼
得分:0
为何不直接写成 putchar(ch+32) ?
我是菜鸟,问题太白不要喷我- -
2008-02-12 05:17
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
7
楼
得分:0
也可以这样写,但是没有上面的方便,不需要记住ASCII的值
2008-02-12 08:29
xianshizhe111
等 级:
新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
第
8
楼
得分:0
转了个小弯,
输入大写B=66 A=65 a=97
结果:(97+66-65)=98=b
2008-02-12 12:41
一介草民
等 级:
新手上路
帖 子:18
专家分:0
注 册:2008-1-24
第
9
楼
得分:0
明白了,谢谢大家哈!
2008-02-12 15:43
cosdos
来 自:ShangHai
等 级:
蜘蛛侠
威 望:
6
帖 子:2109
专家分:1385
注 册:2007-6-19
第
10
楼
得分:0
int fun(int ch)
{
if(ch >= 'A' && ch <= 'Z')
ch = ch - 'A' + 'a';
return ch;
}
/* 如果 ch 为 'A' 则,
ch - 'A' == 0
0 + 'a' == a (即 ch - 'A' + 'a')
因为字母在ASCII表中是连续的,所以:
ch 为 'B'时,
ch - 'A' + 'a' == 'b' 即 ('A' + 1) - 'A' + 'a' == 1 + 'a'
—>〉Sun〈<—
2008-02-12 22:24
10
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-199590-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.292450 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved