Code Fix

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

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

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

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

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

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

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

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

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