web-dev-qa-db-ja.com

スイッチケースでデフォルトを記述しないとどうなりますか?

int a = 10;
switch(a){
case 0:
    printf("case 0");
    break;
case 1:
    printf("case 1");
    break;
}

上記のコードは有効ですか?

Int aが1および0以外の値を持たないことが確実な場合、defaultを回避できますか?

いずれにしても、値が1および0と異なる場合はどうなりますか?

私はこれがばかげた質問であることを知っていますが、おそらくそれが違法または未定義の振る舞いになると考えていたので、念のため確認しました。

46
Jeegar Patel

Cプログラミング言語のswitchステートメントの構文は次のとおりです。

switch(expression) {

   case constant-expression  :
      statement(s);
      break; /* optional */

   case constant-expression  :
      statement(s);
      break; /* optional */

   /* you can have any number of case statements */
   default : /* Optional */
   statement(s);
}
0
Arif