Declaração C goto

Índice

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 gotoinstruçã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 gotoinstruçã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 gotoinstruçã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 gotoinstrução permite que você faça coisas ruins, como pular fora do escopo.

Dito isso, gotopode ser útil às vezes. Por exemplo: para quebrar de loops aninhados.

Você deve usar goto?

Se você acha que o uso de gotoinstrução simplifica seu programa, você pode usá-lo. Dito isso, gotoraramente é útil e você pode criar qualquer programa C sem usar gotocompletamente.

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."

Artigos interessantes...