In questo tutorial imparerai a creare l'istruzione goto nella programmazione C. Inoltre, imparerai quando usare un'istruzione goto e quando non usarla.
L' goto
istruzione ci consente di trasferire il controllo del programma all'etichetta specificata.
Sintassi dell'istruzione goto
goto label;… … label: statement;
L'etichetta è un identificatore. Quando goto
viene rilevata l' istruzione, il controllo del programma salta label:
e inizia a eseguire il codice.
Esempio: istruzione 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; )
Produzione
1. Immettere un numero: 3 2. Immettere un numero: 4,3 3. Immettere un numero: 9,3 4. Immettere un numero: -2,9 Somma = 16,60 Media = 5,53
Motivi per evitare goto
L'uso della goto
dichiarazione può portare a codice che è bacato e difficile da seguire. Per esempio,
one: for (i = 0; i 5) ( goto three; )…
Inoltre, l' goto
istruzione ti consente di fare cose cattive come saltare fuori dall'ambito.
Detto questo, a goto
volte può essere utile. Ad esempio: per interrompere i cicli annidati.
Dovresti usare goto?
Se pensi che l'uso di goto
statement semplifichi il tuo programma, puoi usarlo. Detto questo, goto
è raramente utile e puoi creare qualsiasi programma C senza usarlo del goto
tutto.
Ecco una citazione di Bjarne Stroustrup, creatore di C ++, "Il fatto che 'goto' possa fare qualsiasi cosa è esattamente il motivo per cui non lo usiamo."