C aller à la déclaration
Déclaration aller à C
Dans ce didacticiel, vous apprendrez à créer l'instruction goto en programmation C. De plus, vous apprendrez quand utiliser une instruction goto et quand ne pas l'utiliser.
Le goto
nous permet de transférer le contrôle du programme vers le label spécifié .
Syntaxe de l'instruction goto
goto label;
... .. ...
... .. ...
label:
statement;
L'étiquette est un identifiant. Lorsque le goto
est rencontrée, le contrôle du programme saute à label:
et commence à exécuter le code.

Exemple :goto Statement
// 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;
}
Sortie
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
Raisons pour éviter goto
L'utilisation de goto
L'instruction peut conduire à un code bogué et difficile à suivre. Par exemple,
one:
for (i = 0; i < number; ++i)
{
test += i;
goto two;
}
two:
if (test > 5) {
goto three;
}
... .. ...
Aussi, le goto
vous permet de faire de mauvaises choses comme sauter hors de la portée.
Ceci dit, goto
peut être utile parfois. Par exemple :pour rompre avec des boucles imbriquées.
Devez-vous utiliser goto ?
Si vous pensez que l'utilisation de goto
instruction simplifie votre programme, vous pouvez l'utiliser. Ceci dit, goto
est rarement utile et vous pouvez créer n'importe quel programme C sans utiliser goto
tout à fait.
Voici une citation de Bjarne Stroustrup, créateur de C++, "Le fait que 'goto' puisse tout faire est exactement la raison pour laquelle nous ne l'utilisons pas."
Langue C