Вложенные операторы switch


Предыдущая страница

Допустимо иметь switch как часть последовательности операторов внешнего switch. Даже если case-константы внутреннего и внешнего switch содержат общие значения, конфликтов не возникает.

Синтаксис

Синтаксис для вложенного оператора switch выглядит следующим образом:

switch(ch1) { 
   case 'A':  
      writefln("Эта A является частью внешнего switch" ); 
      switch(ch2) { 
         case 'A': 
            writefln("Эта A является частью внутреннего switch" ); 
            break; 
         case 'B': /* case-код */ 
            break;
         default:
            break;
      } 
      break; 
   case 'B': /* case-код */ 
      break;	
   default:
      break;
}

Пример

import std.stdio;

int main () { 
   /* Определение локальных переменных */ 
   int a = 100; 
   int b = 200;  
   
   switch(a) {
      case 100: 
         writefln("Это часть внешнего switch", a ); 
         switch(b) { 
            case 200: 
               writefln("Это часть внутреннего switch", a ); 
               break; 
            default: 
               break; 
         } 
	 break; 
      default: 
	 break; 
   } 
   writefln("Точное значение a равно: %d", a ); 
   writefln("Точное значение b равно: %d", b ); 
  
   return 0; 
}

Когда вы скомпилируете и выполните эту программу, она возвратит следующий результат:

Это часть внешнего switch
Это часть внутреннего switch
Точное значение a равно: 100
Точное значение b равно: 200

Предыдущая страница
d_programming_decisions.htm