在本文中,您将了解goto语句,它是如何工作的,以及为什么应该避免它。在C ++编程中,goto语句用于通过将控制权转移到程序的其他部分来更改程序执行的正常顺序。
goto label; ... .. ... ... .. ... ... .. ... label: statement; ... .. ...
在上面的语法中,label是标识符。当遇到goto label;,程序的指定跳转到label:并执行它下面的代码。
示例:goto语句
- //此程序计算用户输入的数字的平均值。
-
- //如果用户输入负数,它将忽略该数字,并且计算之前输入的数字的平均值。
-
- # include
- 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
- 输入数字 n2: 3
- 输入数字 n3: 4
- 输入数字 n4: 5
- 输入数字 n5: 6
- 输入数字 n6: 7
- 输入数字 n7: 8
- 输入数字 n8: 9
- 输入数字 n9: 6
- 输入数字 n10: 6
-
- 平均数 = 5.6
goto语句可以跳转到程序的任何部分,但会使程序的逻辑变得复杂而混乱。
在现代编程中,goto语句被认为是有害的构造和不良的编程习惯。
在大多数C ++程序中,可以使用break和continue语句代替goto 语句。