为了账号安全,请及时绑定邮箱和手机立即绑定

这个布尔型false?i:x,运算值是true还是false啊?我不太明白,求教,拜托啦

598704490001fa6d10580420.jpg有关布尔型条件运算符的应用解惑

正在回答

7 回答

应该是 输出结果是 

x

x

因为这个是看问号 前面是 真还是假  是真 就是 冒号前面的 是假 就是冒号后面的

因为这个运算符 不是个计算式 而是直接的 false 就是假.  所以就是冒号后面的

1 回复 有任何疑惑可以回复我~
#1

血色万花筒 提问者

嗯,谢谢啦!
2017-08-06 回复 有任何疑惑可以回复我~
#2

qq_睡姿决定发型_2

错误的答案居然是最佳回答,大家别被忽悠了,这道题的答案是 120 x 第一个x为int型,第二个是char型(x的int型为120)
2019-04-20 回复 有任何疑惑可以回复我~

楼上一群人不要误人子弟了好么?

而这段代码的输出是

120

x

对于第一行输出,x被提升了类型,变为int

而对于第二行,由于100是一个常量。若三目运算符中的两个表达式有一个是常量表达式,另一个是类型T的表达式,且常量表达式可以被T表示,则输出结果是T类型。因此输出是字符x

0 回复 有任何疑惑可以回复我~
#1

慕无忌6107688

能不能说详细点呢?看不懂,为什么X被提升了类型?哪里来的100?小白求教
2018-11-18 回复 有任何疑惑可以回复我~

两个输出都是x,因为问号前面结果是false,所以表达式的结果是冒号后面的式子,也就是x

0 回复 有任何疑惑可以回复我~

x,x

0 回复 有任何疑惑可以回复我~

前边结果为false,则输出后者,所以应该为char x 的值

0 回复 有任何疑惑可以回复我~

false?i:x的运算结果既不是false也不是true而是变量x表示的值;

三元运算符的运算原理为 先运算?前面的表达式的结果,如果结果为true则表达式的结果为:前面的表达式的结果,否则为:后面的表达式的结果。

0 回复 有任何疑惑可以回复我~
#1

血色万花筒 提问者

谢谢!
2017-08-06 回复 有任何疑惑可以回复我~

条件运算符规则:布尔表达式 ? 表达式1 :表达式2

此处布尔表达式结果为false,即输出结果两个都为'x'

0 回复 有任何疑惑可以回复我~
#1

血色万花筒 提问者

谢谢!
2017-08-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个布尔型false?i:x,运算值是true还是false啊?我不太明白,求教,拜托啦

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信