У меня есть два условия для оператора if. Я обнаружил, что они разные, но я не знаю причину.
1: if ((local != -1) || (fall_back == 1))
2. if ((local != -1) || ((local != -1) && (fall_back == 1)))
Эти двое разные. Но в математике у нас есть A V (B ^ C) = (A V B) ^ (A V C)
. Если я воспользуюсь этим уравнением и реорганизую утверждение 2, оно окажется таким же, как и 1. Есть ли что-то фундаментальное, что я упускаю? Как упростить утверждение 2? Это не выглядит хорошо.
(local != -1)
не выполняется, то нет смысла проверять второе условие, оно также не будет выполнено. - person Jayesh Bhoi   schedule 22.08.2014A V (B ^ C) = (A V B) ^ (A V C)
; этоA V (A ^ B) = (A V A) ^ (A V B)
- person user3553031   schedule 22.08.2014