C++ goto 语句

返回上一级

C++ 中的 goto 语句允许把控制条件转移到同一函数内的被标记的语句

在任何编程语言中,都不建议使用 goto 语句。 因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。 任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

goto 语句语法格式

C++ 中 goto 语句的语法格式如下:

goto label;
...
...
...
label: statement;

label 是识别被标记语句的标识符,可以是任何除 C++ 关键字以外的纯文本。 标记语句可以是任何语句,放置在标识符和冒号(:)后边

goto 语句流程图

C++ 中 goto 语句的流程图如下

C++ goto 语句

范例 : goto 语句使用范例

/**
 * file: main.cpp
 * author: 简单教程(www.twle.cn)
 *
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

#include <iostream>
using namespace std;

int main ()
{
   // 局部变量声明
   int cnt = 13;

   // do 循环执行
   LOOP:do
   {
       if( cnt == 15)
       {
          // 跳过迭代
          cnt = cnt + 1;
          goto LOOP;
       }
       cout << "cnt 的值:" << cnt << endl;

       cnt += 1;

   }while( cnt < 17 );

   return 0;
}

编译和运行以上范例,输出结果如下:

$ g++ main.cpp && ./a.out
cnt 的值:13
cnt 的值:14
cnt 的值:16

goto 语句一个很好的作用是退出深嵌套例程

下面的代码使用 goto 语句跳出深嵌套

for(...) {
   for(...) {
      while(...) {
         if(...) goto stop;
         .
         .
         .
      }
   }
}
stop:
cout << "Error in program.\n";

注释 goto 会导致一些额外的测试被执行。

一个简单的 break 语句在这里不会起到作用,因为它只会使程序退出最内层循环。

返回上一级

C++ 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.