Code Fix

中級switch文でbreakを忘れて次のcaseまで実行される(フォールスルー) › パターン3

switch文でbreakを忘れて次のcaseまで実行される(フォールスルー)

各caseの末尾にbreakが無いと、一致したcase以降のブロックがそのまま次のcaseに流れ込んで実行され続けます。

 1  #include <stdio.h>
 2  
 3  int main(void) {
 4      int level = 1;
 5      switch (level) {
 6          case 1:
 7              printf("A\n");
 8          _________
                ^
 9          case 2:
10              printf("B\n");
11              break;
12          case 3:
13              printf("C\n");
14              break;
15      }
16      return 0;
17  }
出力: A B期待: A

空欄を埋めてコンパイル・実行を通す

広告
広告スロット(未設定)

switch文でbreakを忘れて次のcaseまで実行される(フォールスルー)

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)