我真的不明白如何解释以下逻辑表达式



这是我不明白的代码

谢谢!!

Enter integers a,b,c: 1 1 1
!a || !b++ && c: False 
(a-1 || b/2) && (c*=2): True 
(a-- || --b) && (c+=2): True
a || !(b && --c): False

C中有几个概念。首先是短路,用于&&||。然后是后增量或预递增。最后,在C中,整数可用于逻辑运算。

你可以在大多数关于C编程的书籍中找到这些。

例如,!a || !b++ && c ,a 为 1,!a 将为 0,或 false。 !b++ 也会被评估为 false,因为 b 最初是 1,而 !b 将使其为 0。这就是为什么最终答案是错误的。

最新更新