1-11-5. 入れ子switch文

公開日: 19:53 1. 基本編/1-11. 分岐構造/1-11-5. 入れ子switch文


switchの状態遷移の一部としてswitchを記述することができます。内部と外部のcase文が共通の値を含んでも競合を起こしません。

C++では256段階の入れ子を許容します。

構文

switch(ch1) {
   case 'A': 
      cout << "このAは外部のswitchの一部です";
      switch(ch2) {
         case 'A':
            cout << "このAは内部のswitchの一部です";
            break;
         case 'B': // ...
      }
      break;
   case 'B': // ...
}

使用例

#include <iostream>
using namespace std;
 
int main ()
{
   // ローカル変数の宣言
   int a = 100;
   int b = 200;
 
   switch(a) {
      case 100: 
         cout << "ここは外部switchの一部です" << endl;
         switch(b) {
            case 200:
               cout << "ここは内部switchの一部です" << endl;
         }
   }
   cout << "正しいaの値 : " << a << endl;
   cout << "正しいbの値 : " << b << endl;
 
   return 0;
}

次の結果が得られます。
ここは外部switchの一部です
ここは内部switchの一部です
正しいaの値 : 100
正しいbの値 : 200
  • ?±??G???g???[?d????u?b?N?}?[?N???A

0 件のコメント :

コメントを投稿