ホームページ > よくある問題 > switch ステートメントにデフォルト オプションは必要ですか?

switch ステートメントにデフォルト オプションは必要ですか?

青灯夜游
リリース: 2022-11-29 16:26:14
オリジナル
49587 人が閲覧しました

switch ステートメントではデフォルトのオプションは必要ありません。 switch ステートメントは、実行後にプログラム エントリとして条件を満たす case 値を最初に探します。すべてのケースが満たされない場合は、デフォルト エントリを探します。見つからない場合はステートメント全体を終了します。デフォルトは単にバックアップ エントリであり、存在するかどうかは関係ありません。

switch ステートメントにデフォルト オプションは必要ですか?

このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。

Switch は一部のコンピュータ言語の予約語であり、その機能はほとんどの場合に判断と選択を行うことであり、case、break、default と組み合わせて使用​​されることがよくあります。

switch ステートメントを使用すると、さまざまな条件に基づいてさまざまなアクションを実行できます。

switch ステートメントは条件付き選択ステートメントです。まず、条件を満たす case の値が実行後にプログラム エントリとして検索されます。すべての case が満たされない場合は、デフォルトのエントリが検索されます。そうでない場合は、デフォルトのエントリが検索されます。見つかった場合、スイッチ全体が終了します。ステートメント; したがって、デフォルトは単なるバックアップ エントリであり、存在するかどうかは関係ありません。

ただし、エラー チェックやロジック チェックの場合は、デフォルトのブランチを switch ステートメントに追加する必要があります。

たとえば、次の switch ステートメントは完全に正当です:

switch (char_code)
{
      case tyt:
      case 'y': printf ( " You answered YES ! \n" )
           break
      case 'N':
      case 'n': printf ("You answered NO!\n");
           break
}
ログイン後にコピー

しかし、不明な文字がこの switch ステートメントに渡された場合はどうなりますか? 現時点では、プログラムには出力がありません。したがって、この状況に対処するにはデフォルト ブランチを追加するのが最善です。

......
default: printf ("Unknown response : %d\n", char_code);
          break
......
ログイン後にコピー

さらに、デフォルト ブランチはロジック チェックに非常に便利です。たとえば、switch ステートメントを使用して一定数の条件を処理し、これらの条件外の値が論理エラーであると考えられる場合、論理エラーを識別するためのデフォルトの分岐を追加できます。

次を参照してください:

void move_cursor (int direction)
{
     switch (direction)
     {
           case UP:     cursor_up()
                            break
           case DOWN:   cursor_down()
                            break
           case LEFT:   cursor_left ()
                            break
           case RIGHT:  cursor_ right ( )
                             break
           default:     printf ("Logic error on line number %ld!!! \n",
                                     __ LINE__ )
                             break
     }
}
ログイン後にコピー

プログラミング関連の知識については、プログラミング学習 Web サイト をご覧ください。 !

以上がswitch ステートメントにデフォルト オプションは必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート