共用方式為


移至並標示為陳述式 (C)

goto陳述式將控制轉移到標籤。 給定的標籤必須位於相同的函式,且可以顯示在相同的函式中只能有一個陳述式之前。

語法

  • 陳述式
    標記陳述式

    跳躍陳述式

  • 跳躍陳述式
    goto identifier ;

  • 標記陳述式
    識別項**:** 陳述式

陳述式標記是有意義只能goto陳述式。 在任何其他情況下,標記的陳述式會執行而不需考慮到標籤。

A 跳躍陳述式必須位於相同的函式,而且可以出現在相同的函式中只能有一個陳述式之前。 一組識別項名稱以下goto有它自己的命名空間,所以名稱不會干擾其他識別項。 標籤無法重新宣告。 請參閱命名空間如需詳細資訊。

是良好的程式設計樣式使用中斷繼續,和return偏好的陳述式goto在可能的情況。 由於中斷陳述式只會離開迴圈 (loop),一個層級goto可能需要結束深的巢狀迴圈的迴圈。

本範例將示範goto陳述式:

// goto.c
#include <stdio.h>

int main()
{
    int i, j;

    for ( i = 0; i < 10; i++ )
    {
        printf_s( "Outer loop executing. i = %d\n", i );
        for ( j = 0; j < 3; j++ )
        {
            printf_s( " Inner loop executing. j = %d\n", j );
            if ( i == 5 )
                goto stop;
        }
    }

    /* This message does not print: */
    printf_s( "Loop exited. i = %d\n", i );

    stop: printf_s( "Jumped to stop. i = %d\n", i );
}

在這個範例中, goto陳述式將控制轉移到標示為 [ stop時i等於 5。

請參閱

概念

陳述式 (C)