Neste tutorial, você aprenderá a criar a instrução goto em programação C. Além disso, você aprenderá quando usar uma instrução goto e quando não usá-la.
A goto
instrução nos permite transferir o controle do programa para o rótulo especificado.
Sintaxe da instrução goto
goto label;… … label: statement;
O rótulo é um identificador. Quando a goto
instrução é 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 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", sum); printf("Average = %.2f", average); return 0; )
Resultado
1. Insira um número: 3 2. Insira um número: 4,3 3. Insira um número: 9,3 4. Insira um número: -2,9 Soma = 16,60 Média = 5,53
Razões para evitar ir para
O uso da goto
instrução pode levar a um código com bugs e difícil de seguir. Por exemplo,
one: for (i = 0; i 5) ( goto three; )…
Além disso, a 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
instrução 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."