对于条件表达式 (k)?(i++):(i--) 来说,其中表达式k等价于()
A. k==0 B. k==1 C.k!=0 D.k!=1
为什么选C,不可以选择其他的
C语言中0可以表示false。
当k=0时,(k)的结果是false,(k!=0)的结果也是false
当k!=0时,(k)的结果是true,(k!=0)的结果也是true
其他几个选项都没有等价的效果。
首先这有一个三目运算符
比如说A?B:C
执行这一部分的步骤:
先判断表达式A的逻辑值,如果为0或假,将C作为整个表达式A?B:C的值
如果A为非0或真,则将B作为整个表达式的值。
所以本题,k就是逻辑表达式,对k判断真假就等同于它的数值值或ASCII码值是否为0。
C语言用0表示假,非0表示真