C语言中的这句话是什么意思“ch=(ch>='A' && ch<='z'# ? #ch+32# : ch ”

如题所述

这条语句是实现把一个字母字符转换成小写形式

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

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

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

最后,把转换后的值重新赋值给ch,完成转换
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-07
把大写转换成小写,判断如果你输入字母的ASCII值大于A和小于Z那么执行+32,因为大写字母对应的小写字母ASCII值相差32,这样输出就是小写,比如你输入A 他的ASCII值是65,经过加32是97,97对应的就是a,则输出a本回答被网友采纳
相似回答