goto文 - 慎重に、しかし、あなたは使用することができます

最近、goto文の使用は、あまりにも深く入れ子になっている場合ので、そのエラー処理は、goto文を直接使用することを合意しました。

例えば:

 

する#include <stdio.hの> 

int型のmain()
{ 

    / *ローカル変数の定義* / 

    int型A = 10。

    / * doループの実行* / 
    (1)の場合
    { 
        行う
        { 
            IF(== 15)
            { 
                / *スキップ反復* / 
                A = A + 1。
                後藤LOOP; 
            } 
            のprintf( "の値:%Dを\ n"、A)。
            ++; 
        } 
        ながら(<20)。

LOOP:
        のprintf( "AA:%Dを\ n"、A)。
        printf( "ループ:%Dを\ n"、A)。
        = 4; 
        printf( "A =%d個の\ n"、A)。

    0を返します。

}

 

  

 

内部にネストアウトキック、または選択された第一層に後退している、この時間は、ライン上でクリアなポイントを書い後藤と間違って何も、ラベルがありません。サイクル(大ブレイク)の終わりに(大続ける)のみブレークの制御された層に、ドリルドリルと続け、あなたが特定の層のサイクルの終わりにジャンプするジャンプしますしないように注意してください、またはレベルに近いこと。また、RAIIリーク保護リソースを使用しないように覚えています。後藤はこのようなシナリオに最適なソリューションです、あなたは後藤後藤は、「再実装後藤」に他の構文の様々なだけで後藤、より読みやすく、無収入よりも退屈な、無意味です。例えば、我々は、ステートマシンに完全なコアロジック・アルゴリズムは、その行の数十は、あなたが後藤ジャンプする必要があるかもしれないいくつかのサイクル、あなたの混乱があったが、わずか数は、再び状態を通過したいくつかの変数の関数で良い仕事をする、あなたあなたがそれを言うのか、なぜ、あなたは「後藤」だけではなく、書くこと、コードの一部は、迷路の混乱で取りますか?

この現象の理由は、この不足している機能の実現に使用されているCブレークの層数を超える/ C Lvを制御なしと続け、後藤です。

他のシナリオではgotoを使用することが一般的に必要はありません。

長所と短所の結論分析

深くネストされたループの外にジャンプするgoto文
のgoto文が戻ってジャンプすることができ、あなたが前方にジャンプして、まっすぐに実行することができます

後藤ジャンプ機能本体は、in vitroで関数functionをジャンプしません。すなわち、後藤はローカルスコープ、同じスタックの必要性を持っています。 

同じ識別子、すなわち、文字、数字、アンダースコア、および最初の文字の文字であるか、またはアンダースコアなければならないとのルール変数名を命名、、;「」1つの有効シンボル識別子とによって数字goto文を参照します。goto文の実行後、プログラムはラベル文にジャンプ、そしてそれに続く文を実行します。
しかし、同時にgoto文は、プログラムに柔軟性をもたらすプログラムの構造レベルが読み不明で、かつ困難であることを確認し、場合goto文は、通常は条件文と一緒に使用され、ステートメントを使用するのが妥当です。

参考ます。https://www.askpure.com/course_TGESH6E1-XRQR2I14-9XPX7Q53-KDBES2UV.html

https://zhuanlan.zhihu.com/p/33780928

https://www.cnblogs.com/oxspirt/p/7485873.html

https://www.zhihu.com/question/27922046

おすすめ

転載: www.cnblogs.com/CodeWorkerLiMing/p/11670913.html