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 );
}
  外部循环执行。i=0
 内部循环执行。j=0
 内部循环执行。j=1
外部循环执行。i=1
 内部循环执行。j=0
 内部循环执行。j=1
外部循环执行。i=2
 内部循环执行。j=0
 内部循环执行。j=1
外部循环执行。i=3
 内部循环执行。j=0
跳到终止。i=3

请参见

参考

跳转语句 (C++)

C++ 关键字