有关布尔型条件运算符的应用解惑
应该是 输出结果是
x
x
因为这个是看问号 前面是 真还是假 是真 就是 冒号前面的 是假 就是冒号后面的
因为这个运算符 不是个计算式 而是直接的 false 就是假. 所以就是冒号后面的
楼上一群人不要误人子弟了好么?
而这段代码的输出是
120
x
对于第一行输出,x被提升了类型,变为int
而对于第二行,由于100是一个常量。若三目运算符中的两个表达式有一个是常量表达式,另一个是类型T的表达式,且常量表达式可以被T表示,则输出结果是T类型。因此输出是字符x
两个输出都是x,因为问号前面结果是false,所以表达式的结果是冒号后面的式子,也就是x
x,x
前边结果为false,则输出后者,所以应该为char x 的值
false?i:x的运算结果既不是false也不是true而是变量x表示的值;
三元运算符的运算原理为 先运算?前面的表达式的结果,如果结果为true则表达式的结果为:前面的表达式的结果,否则为:后面的表达式的结果。
条件运算符规则:布尔表达式 ? 表达式1 :表达式2
此处布尔表达式结果为false,即输出结果两个都为'x'