帮帮小弟(exp)?i++:j--在线等...

来源:百度知道 编辑:UC知道 时间:2024/05/19 01:40:55
(exp)?i++:j--
为什么 (exp)和(exp!=0)完全等价?

因为表达式exp:当exp不为0就代表真,为0就为假
同样表达式exp!=0:当exp不为0时也为真,为0时为假
所以两者等价

C语言中使用零值表示假,非零值表示真。

而在条件表达式(exp)?i++:j-- 中,如果(exp)为真,就取i++的值,如果为假,就取j--的值,而(exp)为真就等价于exp!=0

都是返回 true

C语言中,如果用于计算,则true返回1 ,false返回0。
如果用于判断,则非0值返回true,0返回false。

所以当exp不等于0时,(exp)和(exp!=0)均返回true
当exp等于0时,(exp)和(exp!=0)均返回false
即两者等价