Code Fix

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

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

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

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

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

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

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

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

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