Лічильник
Сьогодні Разом
Відвідувань 320 5266020
Авторізацій 49 421854
Користувачів 40 2716
Статья

184. Вкладені оператори розгалуження


Іноді виникає необхідність вибрати шлях виконання алгоритму не з двох можливих, а з трьох або більше. Наприклад: якщо вихідне число може бути позитивним, негативним та рівним нулю, тобто не позитивне та не негативне.

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