English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderás a crear sentencias goto en programación en C. Además, también aprenderás cuándo usar la sentencia goto y cuándo no usarla.
La sentencia goto nos permite transferir el control del programa a un label etiqueta específico.
goto label; ... .. ... ... .. ... label: statement;
label es un identificador. Cuando goto encuentra esta sentencia, el control del programa salta a label: y comienza a ejecutar el código.
//El programa calcula la suma de números positivos //Si el usuario ingresa un número negativo, muestra la suma y el promedio. #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. Ingrese el número: ", i); scanf("%lf", &number); //Si el usuario ingresa un número negativo, salta if (number < 0.0) { goto salto; } sum += number; } salto: average = sum / (i - 1); printf("Suma(总和) = %.2f\n", sum); printf("Promedio(平均值) = %.2f", average); return 0; }
Resultado de salida
1. Ingrese el número: 3 2. Ingrese el número: 4.3 3. Ingrese el número: 9.3 4. Ingrese el número: -2.9 Suma(总和) = 16.60 Promedio(平均值) = 5.53
El uso de la sentencia goto puede llevar a errores en el código y ser difícil de seguir. Por ejemplo:
one: for (i = 0; i < number; ++i) { test += i; goto two; } two: if (test > 5) { goto three; } ... .. ...
Además, la sentencia goto te permite realizar operaciones inapropiadas, como salir de un rango.
Aunque así sea, a veces el goto puede ser útil. Por ejemplo: romper bucles anidados.
Si cree que el uso de la sentencia goto puede simplificar el programa, puede usarla. Sin embargo, goto es raramente útil y también puede crear cualquier programa en C sin usar ninguna sentencia goto.
Esto es C ++Las palabras del creador Bjarne StroustrupLa verdad de que 'goto' puede hacer todo es precisely la razón por la que no lo usamos.