移至並標示為陳述式 (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。