goto 陳述式 (C++)
goto 陳述式會無條件的將控制權傳輸至被指定的識別項標記之陳述式。
goto identifier;
備註
由identifier 所設計之被標記的陳述式必須在目前函式。 所有 identifier 名稱是內部命名空間的成員,也因此不會干擾其他識別項。
陳述式標籤只對 goto 陳述式有意義;否則,陳述式標籤會被忽略。 標籤不能重新宣告。
盡可能使用 break、 continue和 return 陳述式而不是 goto 陳述式是較好的程式設計樣式。 不過,因為 break 陳述式只會結束一個層級的迴圈,您可能必須使用 goto 陳述式結束巢狀迴圈。
如需標籤和 goto 陳述式的詳細資訊,請參閱 標記的陳述式 和 使用 goto 陳述式和標籤。
範例
在此範例中,當 i 等於 3 時,goto 陳述式傳送控制項至標記為 stop 的點。
// 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 );
}