设ch是char型变量,其值为A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值为?

如题所述

?:是c中三目运算符,对?前的表达式求zhi解,如果真,则返回:前的值,否则返回:后的值。

这句话的意思是:

if(ch>='a'&&ch<'z)

ch=ch-'a'+'a';

else

ch=ch;

因为ch='a';所以表达式为真,则ch=ch-'a'+'a';

字符在内容中是以ascii保存的,所以和int型一样支持基本运算,

所以ch='a'-'a'+'a';

最终ch='a';

扩展资料:

(1)定义:char型数据是计算机编程语言中只可容纳单个字符的一种基本数据类型

(2)取值范围:char : -2^7 ~ 2^7-1 ;

signed char: -2^7 ~ 2^7-1

unsigned char : 0 ~ 2^8-1

而且关于char还有一个特殊的语言就是char *,它在C/C++中有专门的语义,既不同于signed char *,也不同于unsigned char *,专门用于指以'\0'为结束的字符串

参考资料来源:百度百科-char

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-05
?
:
是c中三目运算符,对?前的表达式求解,如果真,则返回:前的值,否则返回:后的值。
这句话的意思是,
if(ch>='a'&&ch<'z)
ch=ch-'a'+'a';
else
ch=ch;
因为ch='a';所以表达式为真,则ch=ch-'a'+'a';
字符在内容中是以ascii保存的,所以和int型一样支持基本运算,
所以ch='a'-'a'+'a';
最终ch='a';