goto 陳述式 (C++)
goto陳述式將會無條件地將控制權傳輸至指定的識別項所標記的陳述式。
goto identifier;
備註
標記的陳述式所指定的identifier必須位於目前的函式。所有identifier名稱都是內部的命名空間的成員,因此不會干擾其他識別項。
陳述式標記是有意義只能goto陳述式。 否則,會忽略陳述式的標籤。標籤無法重新宣告。
良好的程式設計樣式使用break, continue,和return陳述式,而不是goto陳述式在可能的情況。不過,因為break陳述式結束迴圈 (loop) 只有一個層級,您可能需要使用goto陳述式來結束深的巢狀迴圈。
如需有關標籤和goto陳述式中,請參閱標記的陳述式和使用 goto 陳述式的標籤。
範例
在這個範例中, goto陳述式將控制轉移到標示為 [ stop時i等於 3。
// goto_statement.cpp
#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 < 2; j++ )
{
printf_s( " Inner loop executing. j = %d\n", j );
if ( i == 3 )
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 );
}