Istruzione C goto

Sommario

In questo tutorial imparerai a creare l'istruzione goto nella programmazione C. Inoltre, imparerai quando usare un'istruzione goto e quando non usarla.

L' gotoistruzione ci consente di trasferire il controllo del programma all'etichetta specificata.

Sintassi dell'istruzione goto

 goto label;… … label: statement; 

L'etichetta è un identificatore. Quando gotoviene 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 gotodichiarazione può portare a codice che è bacato e difficile da seguire. Per esempio,

 one: for (i = 0; i 5) ( goto three; )… 

Inoltre, l' gotoistruzione ti consente di fare cose cattive come saltare fuori dall'ambito.

Detto questo, a gotovolte può essere utile. Ad esempio: per interrompere i cicli annidati.

Dovresti usare goto?

Se pensi che l'uso di gotostatement semplifichi il tuo programma, puoi usarlo. Detto questo, gotoè raramente utile e puoi creare qualsiasi programma C senza usarlo del gototutto.

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

Articoli interessanti...