C++ goto语句
提示
在 C++ 编程中,goto 语句用于通过将控制权转移到程序的其他部分来改变程序执行的正常顺序。
goto 语句的语法
goto label;
... .. ...
... .. ...
... .. ...
label:
statement;
... .. ...
在上述语法中,label 是一个标识符。当遇到 goto label;
时,程序的控制权跳转到 label:
并执行其下的代码。
示例: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
您可以在不使用 goto
语句的情况下编写任何 C++ 程序,并且 通常认为不使用它们是个好主意。
避免使用 goto 语句的原因
goto 语句赋予了跳转到程序任何部分的能力,但这使得程序的逻辑变得复杂且纠缠。
在现代编程中,goto 语句被认为是有害的结构和不良编程实践。