La declaración goto es una declaración de salto que a veces también se conoce como declaración de salto incondicional. La declaración goto se puede usar para saltar de cualquier lugar a cualquier lugar dentro de una función.
Sintaxis :
Syntax1 | Syntax2 ---------------------------- goto label; | label: . | . . | . . | . label: | goto label;
En la sintaxis anterior, la primera línea le dice al compilador que vaya o salte a la instrucción marcada como etiqueta. Aquí, la etiqueta es un identificador definido por el usuario que indica la declaración de destino. La declaración que sigue inmediatamente después de ‘etiqueta:’ es la declaración de destino. La ‘etiqueta:’ también puede aparecer antes de ‘goto label;’ instrucción en la sintaxis anterior.
A continuación se muestran algunos ejemplos de cómo usar la sentencia goto:
Ejemplos:
- Tipo 1 : en este caso, veremos una situación similar a la que se muestra en la sintaxis 1 anterior. Supongamos que necesitamos escribir un programa en el que necesitamos verificar si un número es par o no e imprimir en consecuencia usando la instrucción goto. El siguiente programa explica cómo hacer esto:
C
// C program to check if a number is
// even or not using goto statement
#include <stdio.h>
// function to check even or not
void
checkEvenOrNot(
int
num)
{
if
(num % 2 == 0)
// jump to even
goto
even;
else
// jump to odd
goto
odd;
even:
printf
(
"%d is even"
, num);
// return if even
return
;
odd:
printf
(
"%d is odd"
, num);
}
int
main() {
int
num = 26;
checkEvenOrNot(num);
return
0;
}
C++
// C++ program to check if a number is
// even or not using goto statement
#include <iostream>
using
namespace
std;
// function to check even or not
void
checkEvenOrNot(
int
num)
{
if
(num % 2 == 0)
// jump to even
goto
even;
else
// jump to odd
goto
odd;
even:
cout << num <<
" is even"
;
// return if even
return
;
odd:
cout << num <<
" is odd"
;
}
// Driver program to test above function
int
main()
{
int
num = 26;
checkEvenOrNot(num);
return
0;
}
Producción:26 is even
- Tipo 2: : En este caso, veremos una situación similar a la que se muestra en la Sintaxis1 anterior. Supongamos que necesitamos escribir un programa que imprima números del 1 al 10 usando la instrucción goto. El siguiente programa explica cómo hacer esto.
C
// C program to print numbers
// from 1 to 10 using goto statement
#include <stdio.h>
// function to print numbers from 1 to 10
void
printNumbers()
{
int
n = 1;
label:
printf
(
"%d "
,n);
n++;
if
(n <= 10)
goto
label;
}
// Driver program to test above function
int
main() {
printNumbers();
return
0;
}
C++
// C++ program to print numbers
// from 1 to 10 using goto statement
#include <iostream>
using
namespace
std;
// function to print numbers from 1 to 10
void
printNumbers()
{
int
n = 1;
label:
cout << n <<
" "
;
n++;
if
(n <= 10)
goto
label;
}
// Driver program to test above function
int
main()
{
printNumbers();
return
0;
}
Producción:1 2 3 4 5 6 7 8 9 10
Desventajas de usar la instrucción goto:
- Se desaconseja encarecidamente el uso de la instrucción goto, ya que hace que la lógica del programa sea muy compleja.
- el uso de goto hace que la tarea de analizar y verificar la corrección de los programas (particularmente aquellos que involucran bucles) sea muy difícil.
- El uso de goto se puede evitar simplemente usando sentencias break y continue .
Este artículo es una contribución de Harsh Agarwal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA