- C++ 基础
- C++ 首页
- C++ 概述
- C++ 环境设置
- C++ 基本语法
- C++ 注释
- C++ Hello World
- C++ 省略命名空间
- C++ 常量/字面量
- C++ 关键字
- C++ 标识符
- C++ 数据类型
- C++ 数值数据类型
- C++ 字符数据类型
- C++ 布尔数据类型
- C++ 变量类型
- C++ 变量作用域
- C++ 多个变量
- C++ 基本输入/输出
- C++ 修饰符类型
- C++ 存储类
- C++ 运算符
- C++ 数字
- C++ 枚举
- C++ 引用
- C++ 日期和时间
- C++ 控制语句
- C++ 决策制定
- C++ if 语句
- C++ if else 语句
- C++ 嵌套 if 语句
- C++ switch 语句
- C++ 嵌套 switch 语句
- C++ 循环类型
- C++ while 循环
- C++ for 循环
- C++ do while 循环
- C++ Foreach 循环
- C++ 嵌套循环
- C++ break 语句
- C++ continue 语句
- C++ goto 语句
- C++ 构造函数
- C++ 构造函数和析构函数
- C++ 复制构造函数
- C++ 文件处理
- C++ 文件和流
- C++ 从文件中读取
C++ goto 语句
goto 语句提供从 goto 到同一函数中带标签语句的无条件跳转。
注意 - 强烈建议不要使用 goto 语句,因为它使得难以跟踪程序的控制流程,从而使程序难以理解和修改。任何使用 goto 的程序都可以重写,使其不需要 goto。
语法
C++ 中 goto 语句的语法如下:
goto label; .. . label: statement;
其中 label 是一个标识符,用于标识带标签的语句。带标签的语句是任何以标识符后跟冒号 (:) 开头的语句。
流程图
示例
#include <iostream> using namespace std; int main () { // Local variable declaration: int a = 10; // do loop execution LOOP:do { if( a == 15) { // skip the iteration. a = a + 1; goto LOOP; } cout << "value of a: " << a << endl; a = a + 1; } while( a < 20 ); return 0; }
当以上代码被编译和执行时,会产生以下结果:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 16 value of a: 17 value of a: 18 value of a: 19
goto 的一个好的用途是从深度嵌套的例程中退出。例如,考虑以下代码片段:
for(...) { for(...) { while(...) { if(...) goto stop; . . . } } } stop: cout << "Error in program.\n";
消除 goto 将迫使执行许多额外的测试。简单的 break 语句在这里不起作用,因为它只会导致程序退出最内层循环。
广告