在本文中,您將了解goto語句,它是如何工作的,以及為什么應(yīng)該避免它。
在C ++編程中,goto語句用于通過將控制權(quán)轉(zhuǎn)移到程序的其他部分來更改程序執(zhí)行的正常順序。
goto label; ... .. ... ... .. ... ... .. ... label: statement; ... .. ...
在上面的語法中,label是標(biāo)識符。當(dāng)遇到goto label;,程序的指定跳轉(zhuǎn)到label:并執(zhí)行它下面的代碼。

//此程序計算用戶輸入的數(shù)字的平均值。
//如果用戶輸入負(fù)數(shù),它將忽略該數(shù)字,并且
//計算之前輸入的數(shù)字的平均值。
# include <iostream>
using namespace std;
int main()
{
float num, average, sum = 0.0;
int i, n;
cout << "最大輸入數(shù): ";
cin >> n;
for(i = 1; i <= n; ++i)
{
cout << "輸入數(shù)字 n" << i << ": ";
cin >> num;
if(num < 0.0)
{
// 控制程序跳轉(zhuǎn)到j(luò)ump
goto jump;
}
sum += num;
}
jump:
average = sum / (i - 1);
cout << "\n平均數(shù) = " << average;
return 0;
}輸出結(jié)果
最大輸入數(shù): 10 輸入數(shù)字 n1: 2.3 輸入數(shù)字 n2: 5.6 輸入數(shù)字 n3: -5.6 平均數(shù) = 3.95
您可以編寫任何c++程序,而不需要使用goto語句,因此不使用goto語句通常被認(rèn)為是一個好主意。
goto語句可以跳轉(zhuǎn)到程序的任何部分,但會使程序的邏輯變得復(fù)雜而混亂。
在現(xiàn)代編程中,goto語句被認(rèn)為是有害的構(gòu)造和不良的編程習(xí)慣。
在大多數(shù)C ++程序中,可以使用break和continue語句代替goto 語句。