スイッチ条件のデフォルトケース 質問する

スイッチ条件のデフォルトケース 質問する

次のようなコードがあります:

  #include<stdio.h>                                   
  int main()
  {   
      int a=10;
      switch(a)
      {   
      case '1':
          printf("ONE\n");
          break;
      case '2':
          printf("TWO\n");
          break;
      defalut:
          printf("NONE\n");
      }   
      return 0;
  }

プログラムは何も印刷しません。 さえも印刷しません。 にタイプミスがあるNONEことがわかりました。なぜこの構文エラーがコンパイラによって検出されないのかを知りたいです。defaultdefalut

ベストアンサー1

defalutは、 を使用してジャンプできるプログラム内の単なるラベルですgoto。キーワードを強調表示するエディターがあれば、このエラーを見つけやすくなります。

また、プログラムに論理エラーがある可能性もあることに注意してください。文字は'1'と同じではなく1、 および と同じ'2'です2

おすすめ記事