0 && !2+5 || 1 &&! (2+!0)
高手帮忙解答下,刚刚学C++,希望能把计算过程解析下,望能具体点里面有点还不太清楚,我得结果是1,但是我用VC运行是0,不知道哪里出错了,谢谢了哦,小弟刚刚学C++的。
0 && !2+5 || 1 &&! (2+!0)
高手帮忙解答下,刚刚学C++,希望能把计算过程解析下,望能具体点里面有点还不太清楚,我得结果是1,但是我用VC运行是0,不知道哪里出错了,谢谢了哦,小弟刚刚学C++的。
加上括号就能看明白了
( 0 && ((!2)+5)) || (1 && (!(2+(!0)))
说顺序
首先执行 ( 0 && ((!2)+5))
然后 因为 0 ,所以 ( 0 && ((!2)+5)) = 0,后面的不会执行
然后 (1 && (!(2+(!0)))
因为 1 所以 看(!(2+(!0))
所以要看 2+(!0)
!0 = 1
=> 2 + !0 = 3
=> (!(2+(!0)) = (! 3) = 0
=>(1 && (!(2+(!0))) = (1 && 0) =0
所以 ( 0 && ((!2)+5)) || (1 && (!(2+(!0))) = 0 || 0 = 0