C++ goto 语句

在本文中,您将了解goto语句,它是如何工作的,以及为什么应该避免它。

在C ++编程中,goto语句用于通过将控制权转移到程序的其他部分来更改程序执行的正常顺序。

goto语句的语法

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

在上面的语法中,label是标识符。当遇到goto label;,程序的指定跳转到label:并执行它下面的代码。

在C ++编程中使用goto语句

示例:goto语句

//此程序计算用户输入的数字的平均值。

//如果用户输入负数,它将忽略该数字,并且

//计算之前输入的数字的平均值。

# include <iostream>
using namespace std;

int main()
{
    float num, average, sum = 0.0;
    int i, n;

    cout << "最大输入数: ";
    cin >> n;

    for(i = 1; i <= n; ++i)
    {
        cout << "输入数字 n" << i << ": ";
        cin >> num;
        
        if(num < 0.0)
        {
           // 控制程序跳转到jump
            goto jump;
        } 
        sum += num;
    }
    
jump:
    average = sum / (i - 1);
    cout << "\n平均数 = " << average;
    return 0;
}

输出结果

最大输入数: 10
输入数字 n1: 2.3
输入数字 n2: 5.6
输入数字 n3: -5.6

平均数 = 3.95

您可以编写任何c++程序,而不需要使用goto语句,因此不使用goto语句通常被认为是一个好主意。

避免使用goto声明的原因

goto语句可以跳转到程序的任何部分,但会使程序的逻辑变得复杂而混乱。

在现代编程中,goto语句被认为是有害的构造和不良的编程习惯。

在大多数C ++程序中,可以使用break和continue语句代替goto 语句。