Declaração C goto
Declaração C goto
Neste tutorial, você aprenderá a criar a instrução goto na programação C. Além disso, você aprenderá quando usar uma instrução goto e quando não usá-la.
O
goto
A instrução nos permite transferir o controle do programa para o label especificado . Sintaxe da instrução goto
goto label;
... .. ...
... .. ...
label:
statement;
O rótulo é um identificador. Quando o
goto
é encontrada, o controle do programa salta para label:
e começa a executar o código. 
Exemplo:declaração goto
// Program to calculate the sum and average of positive numbers
// If the user enters a negative number, the sum and average are displayed.
#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. Enter a number: ", i);
scanf("%lf", &number);
// go to jump if the user enters a negative 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;
}
Saída
1. Enter a number: 3 2. Enter a number: 4.3 3. Enter a number: 9.3 4. Enter a number: -2.9 Sum = 16.60 Average = 5.53
Razões para evitar goto
O uso de
goto
pode levar a um código com bugs e difícil de seguir. Por exemplo,
one:
for (i = 0; i < number; ++i)
{
test += i;
goto two;
}
two:
if (test > 5) {
goto three;
}
... .. ...
Além disso, o
goto
instrução permite que você faça coisas ruins, como pular fora do escopo. Dito isso,
goto
pode ser útil às vezes. Por exemplo:para quebrar de loops aninhados. Você deve usar goto?
Se você acha que o uso de
goto
simplifica seu programa, você pode usá-lo. Dito isso, goto
raramente é útil e você pode criar qualquer programa C sem usar goto
completamente. Aqui está uma citação de Bjarne Stroustrup, criador do C++, "O fato de que 'goto' pode fazer qualquer coisa é exatamente o motivo pelo qual não o usamos."
Linguagem C