C语言判断题,答案为错,求高手解释。谢谢(主要是不明白表达式的“!”作用是什么)

设d=1,e=2,f=3,则逻辑表达式!(d+e)+f&&e+f*2的值为0.
我感觉表达式结果就应该是0呀,请高手分步解释计算过程,谢谢各位路过的大虾

???表达式的值为1吧 d=1,e=2,f=3
首先注意它们优先级,所以
!(d+e)+f&&e+f*2 => !(1 + 2) + 3 && 2 +3 * 2
=> !3 + 3 && 2 + 6
=> 0 + 3 && 8
=> 3 && 8
=>1
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-10
!的作用的取非
!true = false
!false = true
true 是真, false是假
数值等于0时为false, 非0时为真
d+e = 3, 本身为真, 加上!之后就是假, 为0
第2个回答  2012-05-10
假如d=1,那么!d = =0
第3个回答  2012-05-10
!是非运算
相似回答