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本回答被网友采纳

...意思“ch=(ch>='A' && ch<='z'# ? #ch+32# : ch ”
A:B"条件判断运算符 运行形式为如果X为真,那么执行A,否则执行B 语句首先执行括号中的表达式,即: ch>='A'&&ch<='Z',然后根据逻辑与的结果,分别执行: a.如果为真,即ch是大写字母字符,那么执行ch+32,根据ASCII码表,知道大写字母字符的值加上32,即是小写字母字符的ASCII值,所以就完成对...

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

设ch是char型变量,其值为A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32...
?:是c中三目运算符,对?前的表达式求zhi解,如果真,则返回:前的值,否则返回:后的值。这句话的意思是:if(ch>='a'&&ch<'z)ch=ch-'a'+'a';else ch=ch;因为ch='a';所以表达式为真,则ch=ch-'a'+'a';字符在内容中是以ascii保存的,所以和int型一样支持基本运算,所以ch='a'...

这句c是什么意思?ch=(ch>='A'&&<='Z')?(ch+32):ch;
先执行 (ch>='A'&&<='Z')? 它判断当前的ch的值是不是[A-Z]区间的大写字母 如果条件成立,则返回 (ch+32),即当前ch的值+32,再赋值给ch 如果条件不成立,则返回 ch 本身,即 ch = ch

C语言 ch=(ch>='A'&& ch<='Z')? ch:(ch-32) 这一句中 ? ch:(ch-32...
你这里就是 如果ch是'A'到'Z'之间的大写字母,就返回ch本身;否则返回ch-32(此时ch为小写字母,每个字母对应的小写字母的ASCII码比大些字母的ASCII码要大32,可以查看ASCII码表,ch-32就把小写字母变换成对应的大写字母了,当然你这里得先保证要转换的ch是字母,若是数字符号经过这个计算则没有意义了...

C语言中,char ch='A';ch!=(ch>='A'&&ch<='z'?ch:(ch+32)),ch!=是什么...
ch>='A'&&ch<='z'就是说ch是个英文字母,连起来就是说如果ch是字母,则保持不变,否则ascii值加上32,你看下ascii码表就知道了,比如字符'0',十进制是48,加上32就是80也就是字符'P'...

C语言一个简单的表达式求值
ch=‘A’,ch=(ch>='A'&&ch<='Z')?(ch+32):ch意思是ch>=‘A’和ch>='Z'都成立则ch=ch+32,否则ch=ch,因为都成立,所以ch=ch+32,A=65,所以ch=65+32=97=a够详细了吧,哈哈。

ch!=(ch>='A'&&ch<='z')?ch:(ch+32)。结果是A。求解释。
你给ch赋初值了么?初值是什么ch的值就是什么,因为你用"!"把后面的东西都否定了,所以当你写后面的语句的时候ch初值是什么就会输出什么。

设ch是char型变量,下列表达式ch=(ch>='A'&&ch<='Z'?(ch+32):ch的作用...
如果ch是大写字母的话就执行(ch+32)这条语句,将ch加上32转换成小写字母。否则执行把ch赋值给ch,也就是不变。整个语句的意思就是讲ch变成小写字母再赋值给它。讲解得应该能懂吧。。。

C语言问题,图
这句话可以这样看,ch=( (ch>='A'&&ch<='Z')?(ch+32):ch )首先这是一个赋值语句,然后问号前面是判断句,根据ASCII码,判断ch是否在A-Z之间,也就是说ch是否为大写字母,如果是,则取值(ch+32),即转化成小写,否则取值ch A的ASCII码是65,a是97,刚好相差32,其他字母也是这样 ...

相似回答