Оператор if, за которым следует точка с запятой, называется «пустым оператором if».Это редко полезно, но синтаксически законно.
Вы можете написать что-то вроде этого
if ( doSomethingThatReturnsABoolean() )
; // Empty statement
else
doSomeOtherThing()
, но было бы лучше написать
if ( !doSomethingThatReturnsABoolean() )
doSomeOtherThing()
ОтносительноВаше наблюдение, что проверяется только первое условие: если первое условие возвращает false
, второе условие не будет проверено, потому что
(false && secondCondition)
всегда равно false, поэтому значение secondCondition не имеет значения.