goto文

goto文とは、分岐文の内の1つであり、指定するラベルへ制御を移します。
そのラベルはgoto文を含む関数内になければなりません(関数有効範囲)。

goto文は特定のラベルへ制御を移すという性質上、プログラムの流れが不定になり(俗に言うスパゲティソース)、バグの温床となる可能性があります。
その為、goto文の使用は一般に推奨されていません。

goto文の利用

goto文は分岐先のラベルと組み合わせて記述します。

goto文 構文

goto 識別子;

ラベル 構文

識別子:

goto文を使用した記述例

// goto文 program in C.    
#include <stdio.h>    
        
int main(int argc, char *args[])
{        
    int  i = 0;                     // ループカウンタ       
    int  total = 0;                 // 合計値   

    // 5回(0~4の範囲)ループする
    for (i = 0; i < 5; i++)
    {        
        // 合計値が5を超えたときにOVER_FIVEに制御を移します
        if (total > 5) 
            goto OVER_FIVE;
        total += i * 2;
    }

OVER_FIVE:

    printf("Total:%d\n", total);     
    return 0;
}

実行結果

Total:6

Last updated:2017/08/12
Author:efn

';