在本文中,您將了解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 語句。