C言語のswitch case文の実行フローはどうなっていますか。

C言語におけるswitch case文の実行フローは以下の通りである。

  1. 最初にスイッチ文の式を計算します。
  2. 式の値に応じて、プログラムは値に対応するケースの分岐にジャンプします。
  3. マッチしたケース分岐が見つかれば、そこから文を実行しはじめ、break文かスイッチ文の終わりまで続ける。
  4. 一致するcase分岐が見つからない場合、プログラムは(もしあれば)default分岐の文を実行します。
  5. 現在の分岐文を実行した後、プログラムは switch 文ブロックを抜け出し、switch 文の後のコードを実行します。

注意したいのは、case分岐の中でbreak文が使用されていない場合、プログラムは後続のcase分岐に沿って実行を継続し、break文またはswitch文の末尾に達するまで継続します。この場合、これを「フォールスルー」と呼び、複数の値が同じ実行論理を共有する場合に実現できます。

bannerAds