在本教程中,您将学习在C语言编程中创建goto语句。此外,您还将学习何时使用goto语句以及何时不使用它。
goto语句使我们可以将程序的控制权转移到指定的label 标签。
goto label; ... .. ... ... .. ... label: statement;
label是一个标识符。goto遇到该语句时,控制程序跳至label:并开始执行代码。
//程序计算正数的总和 //如果用户输入一个负数,则显示总和和平均值。 #include <stdio.h> int main() { const int maxInput = 100; int i; double number, average, sum = 0.0; for (i = 1; i <= maxInput; ++i) { printf("%d. 输入数字: ", i); scanf("%lf", &number); //如果用户输入的是负数,则跳转 if (number < 0.0) { goto jump; } sum += number; } jump: average = sum / (i - 1); printf("Sum(总和) = %.2f\n", sum); printf("Average(平均值) = %.2f", average); return 0; }
输出结果
1. 输入数字: 3 2. 输入数字: 4.3 3. 输入数字: 9.3 4. 输入数字: -2.9 Sum(总和) = 16.60 Average(平均值) = 5.53
使用goto语句可能会导致代码有错误并且难以遵循。例如,
one: for (i = 0; i < number; ++i) { test += i; goto two; } two: if (test > 5) { goto three; } ... .. ...
此外,goto语句还允许您执行不良操作,例如跳出范围。
话虽如此,goto有时可能会有用。例如:打破嵌套循环。
如果您认为使用goto语句可以简化程序,则可以使用它。话虽如此,goto它很少有用,您也可以在不使用任何goto语句的情况下,创建任何C程序。
这是C ++的创建者Bjarne Stroustrup的话:“'goto'无所不能的事实,正是我们不使用它的原因。”