English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá a criar instruções goto em linguagem C. Além disso, você também aprenderá quando usar e quando não usar goto.
A instrução goto nos permite transferir o controle do programa para um rótulo específico.
goto label; ... .. ... ... .. ... label: instrução;
label é um identificador. Quando o goto encontra essa instrução, o controle do programa salta para label: e começa a executar o código.
//O programa calcula a soma dos números positivos. //Se o usuário inserir um número negativo, exibir a soma e a média. #include <stdio.h> int main() { const int maxInput = 100; int i; double number, average, soma = 0.0; for (i = 1; i <= maxInput; ++i) { printf("%d. Insira o número: ", i); scanf("%lf", &number); //Se o usuário inserir um número negativo, saltar if (number < 0.0) { goto pular; } soma += number; } pular: average = sum / (i - 1); printf("Soma(Soma) = %.2f\n", sum); printf("Média(Média) = %.2f", average); return 0; }
Resultados de saída
1. Insira o número: 3 2. Insira o número: 4.3 3. Insira o número: 9.3 4. Insira o número: -2.9 Soma(Soma) = 16.60 Média(Média) = 5.53
O uso de instruções goto pode levar a código errado 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, a instrução goto permite que você execute operações ruins, como sair de um escopo.
Embora isso seja verdade, às vezes o goto pode ser útil. Por exemplo: quebrar loops aninhados.
Se você acha que a utilização de sentenças goto pode simplificar o programa, você pode usá-la. Dito isso, o goto é raramente útil e você pode criar qualquer programa C sem usar goto.
Este é o C ++das palavras do criador Bjarne StroustrupA verdadeira força do 'goto' é que não o usamos. Isso é o que faz dele útil. Dito isso, o goto é raramente útil e você pode criar qualquer programa C sem usar goto.