C语言里面问号和冒号表达式的问题请教 (0x30& 0x20) ? 0x00 : 0x28 这样的表达式是什么意思啊?

(0x30& 0x20) ? 0x00 : 0x28 这样的表达式是什么意思啊?
2024-11-24 19:53:23
推荐回答(5个)
回答1:

这是一个条件表达式,格式为 表达式1?表达式2:表达式3
可以替代某些if-then-else 语句;作用是,
在执行了表达式1后,如果数值为true(真),则计算表达式2,并将结果作为整个表达式的数值;
如果表达式的值为false(假),则计算表达式3的值,并将结果作为整个表达式的数值;
0x作为数字开头,表示该数为十六进制,(0x30& 0x20)的值为真,即1,因此执行0x00,他的值为假,即0,故整个表达式值为假,也就是0.

回答2:

a?b:c
这个表达式的意思就是如果a成立(a不等于0或者a这个表达式不等于0),那么这个式子返回的就是b,否则返回c
举个例子说
a>b?true:false
这里如果a=2,b=1,那么返回的就是true
如果a=1,b=2,那么返回的就是false
其实就是一个多分支选择结构

回答3:

屏幕尺寸的表达。

vivo智能手机基本信息:

1:vivo为一个专注于智能手机领域的手机品牌,vivo和追求乐趣、充满活力、年轻时尚的城市群体一起打造拥有卓越外观、愉悦体验的智能产品,并将敢于追求极致、持续创造惊喜作为vivo的坚定追求。

2:2014年vivo品牌的国际化之路全面开启,除中国大陆市场外,vivo进驻的海外市场包含印度、泰国、缅甸、马来西亚、印度尼西亚、越南和菲律宾。2016-2017年,vivo正式成为NBA中国官方合作伙伴。 

3:2016年底,vivo高层在媒体沟通会上透露,将在国内外成立七个研发中心,国内部分有深圳、东莞长安、南京、杭州和北京,而在国外将在美国硅谷和圣地亚哥分设两个研发中心。从这种部署看来,vivo将由原来的音乐和拍照的单点技术突破将变成从智能手机的整体技术创新全面推进。

中文名称:vivo智能手机

外文名称:vivo

手机类型:智能手机、音乐手机、拍照手机

最新机型:vivo X20

操作系统:Funtouch OS(基于Android)

回答4:

就是 0x30和0x20相与。得到的和如果是1的话 这一行表达式返回值就是 0x00
如果得到和是0的话,返回值就是0x28

回答5:

0x是十六进制前导。
原式即为(48&32)?0:40
x?y:z /*? :是条件运算符*/
x为真(非0)那表达式的值就是Y的值,x为假(0)表达式的值就位z的值。
48和32的二进制进行按位与,为真时整个表达式的值为0如果为假那表达式的值为40.