V tej vadnici se boste naučili ustvariti stavek goto v programiranju C. Izvedeli boste tudi, kdaj uporabljati stavek goto in kdaj ga ne.
goto
Izjava nam omogoča prenos nadzora programa za določeno oznako.
Sintaksa goto izjave
goto label;… … label: statement;
Oznaka je identifikator. Ko pride do goto
stavka, nadzor programa skoči na label:
in začne izvajati kodo.
Primer: 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 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; )
Izhod
1. Vnesite številko: 3 2. Vnesite številko: 4.3 3. Vnesite številko: 9.3 4. Vnesite številko: -2,9 Vsota = 16,60 Povprečje = 5,53
Razlogi, da se izognemo goto
Uporaba goto
stavka lahko privede do napake in ji je težko slediti. Na primer
one: for (i = 0; i 5) ( goto three; )…
Tudi goto
izjava vam omogoča, da počnete slabe stvari, kot je skok izven obsega.
To je goto
včasih lahko koristno. Na primer: prekinitev iz ugnezdenih zank.
Bi morali uporabiti goto?
Če menite, da uporaba goto
stavka poenostavlja vaš program, ga lahko uporabite. Kot rečeno, goto
je to le redko koristno in lahko ustvarite kateri koli program C, ne da bi ga v goto
celoti uporabili .
Tukaj je citat Bjarneja Stroustrupa, ustvarjalca C ++, "Dejstvo, da 'goto' lahko naredi karkoli, je točno to, zakaj ga ne uporabljamo."