C++ 编程中的 goto 语句用于通过将控制权转移到程序的另一部分来改变程序执行的正常序列。
goto label;
... .. ...
... .. ...
... .. ...
label:
statement;
... .. ...
在上面给出的语法中,label 似乎是一个标识符。当遇到命令 **goto label**; 时,程序的控制权将跳转到 **label**: 并执行其下面的代码。

图显示了 goto 在 C++ 中的工作方式
让我们编写一个程序来计算用户输入的数字的平均值。
假设如果用户输入一个负数,它将忽略该数字并计算之前输入的平均数。
# include <iostream>
using namespace std;
int main()
{
float num, average, sum = 0.0;
int i, n;
cout << "Maximum number of inputs: ";
cin >> n;
for(i = 1; i <= n; ++i)
{
cout << "Enter n" << i << ": ";
cin >> num;
if(num < 0.0)
{
// Control of the program move to jump:
goto jump;
}
sum += num;
}
jump:
average = sum / (i - 1);
cout << "\nAverage = " << average;
return 0;
}
输出
Average = -nanMaximum number of inputs: 3 Enter n1: 1 Enter n2: 2 Enter n3: 3 Average = 2
Goto 语句在 C++ 编程中是可选的,通常建议避免使用它们。