Особенности работы логических операторов в условиях неопределённых значений переменных заключаются в следующем:
- Оператор «ИЛИ» (||). 1 Вычисляет операнды слева направо, конвертирует каждый в логическое значение. 1 Если результат true, останавливается и возвращает исходное значение этого операнда. 1 Если все операнды являются ложными (false), возвращает последний из них. 1 Другими словами, цепочка «ИЛИ» возвращает первое истинное значение или последнее, если такое значение не найдено. 1
- Оператор «И» (&&). 1 Вычисляет операнды слева направо, каждый преобразует в логическое значение. 1 Если результат false, останавливается и возвращает исходное значение этого операнда. 1 Если все операнды были истинными, возвращается последний. 1 Другими словами, «И» возвращает первое ложное значение или последнее, если ничего не найдено. 1
Также стоит отметить, что логические выражения и переменные проверяются слева направо, и если результат всего выражения в скобках будет однозначно определён после проверки первого выражения, остальные выражения проверяться не будут. 5