int a = 10, b = 12, c = 8
!((a < 5) || (c < (a + b)))
我刚刚在编译器中尝试过它并且它是错误的。
答案 0 :(得分:3)
内在表达:
(a < 5) || (c < (a + b))
评估a < 5
为false
(因为a
为10
)而c < (a + b)
为true
(因为8
较少比10+12
)。在false
和true
上执行布尔“或”操作会为您提供true
。
而且,鉴于您对该值做的下一件事是!
(反转),true
会变成false
。
答案 1 :(得分:0)
c < (a + b) == 8 < (10 + 12) == 8 < 22 == true
a < 5 == 10 < 5 == false
(a < 5) || (c < (a + b)) == false || true == true
!((a < 5) || (c < (a + b))) == !(true) == false