ch=(ch>='A'&&ch<='Z')?ch+32:ch;

这个条件运算的思路各位大虾能说下么先谢谢拉... 这个条件运算的思路
各位大虾能说下么 先谢谢拉
展开
 我来答
杨柳郎之2035
推荐于2016-12-02 · TA获得超过142个赞
知道答主
回答量:26
采纳率:0%
帮助的人:0
展开全部
这条语句是实现把一个字母字符转换成小写形式

赋值语句右边是一个"X?A:B"条件判断运算符
运行形式为如果X为真,那么执行A,否则执行B

语句首先执行括号中的表达式,即:
ch>='A'&&ch<='Z',然后根据逻辑与的结果,分别执行:
a.如果为真,即ch是大写字母字符,那么执行ch+32,根据ASCII码表,知道大写字母字符的值加上32,即是小写字母字符的ASCII值,所以就完成对大写到小写的转换

b.如果为假,即ch不是大写字母字符,那么保持ch的值不变

最后,把转换后的值重新赋值给ch,完成转换
L_o_o_n_i_e
2008-04-04 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5075万
展开全部
字母ABCDE...XYZ的ASCII值是连续变化,从'A'变到'Z'。
小写字母的ASCII值比大写字母大 32

ch>='A'&&ch<='Z' 说 如果 ch 的 值 在'A'到'Z'范围,它是大写字母。
则 ch = ch+32 -- 变小写
否则 :ch -- ch=ch 不变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
isiahe
2008-04-04 · TA获得超过328个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:0
展开全部
(ch>='A'&&ch<='Z') 判断ch的ascii是否在'A'的ascii值和'Z'的ascii码值之间, 也就是判断ch是否是一个大写的英文字符。

如果是ch+32, 转换成对应的小写字符。 大小写字符的ascii值相差32。

否则,保持ch不变。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2008-04-04
展开全部
这个表达式等价于:
ch= ( (ch>='A'&&ch<='Z')?ch+32:ch );

后面的条件表达式使得这个语句相当于下面的if语句:

if (ch>='A'&&ch<='Z) ch=ch+32;
else ch=ch;

如果ch保存的是一个大写字母,则转换为对应的小写字母,否则保留原值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高金山
2008-04-04 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1651万
展开全部
ch=(ch>='A'&&ch<='Z')?ch+32:ch;
意思是如果字符ch在A到Z中间,该字符就加32,否则就是他本身
这个是用来把所有字符都变成小写字符的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式