English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Linguagem C

Controle de Fluxo de Linguagem C

Funções no C

Matrizes no C

Ponteiro no C

String no C

Estruturas de Linguagem C

Arquivos de Linguagem C

Outros C

Manual de Referência do C Linguagem

Sentença goto no C

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.

Sintaxe do goto

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.

Exemplo: instruções goto

//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

Razões para evitar ou usar poucas instruções Goto

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.

Você deve usar goto?

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.