这是我不明白的代码
谢谢!!
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。这就是为什么最终答案是错误的。