Сьогодні | Разом | |
Відвідувань | 320 | 5266020 |
Авторізацій | 49 | 421854 |
Користувачів | 40 | 2716 |
184. Вкладені оператори розгалуження
if (<умова 1>) <Дія 1.1>; else if (<умова 2>) <Дія 2.1>; else <Дія 2.2>;Увага!
if (<умова 1>) if (<умова 2>) <Дія 2.1>; else <Дія 2>;На перший погляд, гілка else відноситься до зовнішнього оператора розгалуження і повинна виконатися у разі помилкового значення "умови 1". Але це не так: дотримуючись правила "else завжди відноситься до найближчого вище if", виконання "Дія 2" можливе лише при помилковому значенні "умова" 2". Щоб уникнути таких неоднозначних інтерпретацій, слід розставляти операторні дужки.
if (<умова 1>) { if (<умова 2>) <Дія 2.1>; } else <Дія 2>;