U ovom uputstvu naučit ćete stvoriti izraz goto u programiranju na C-u. Također, naučit ćete kada koristiti goto izjavu, a kada ne.
goto
Izjava omogućuje nam da prijenos kontrolu programa na određenom oznakom.
Sintaksa goto Izjave
goto label;… … label: statement;
Oznaka je identifikator. Kada goto
se naiđe na naredbu, kontrola programa preskače label:
i započinje s izvršavanjem koda.
Primjer: goto Izjava
// 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; )
Izlaz
1. Unesite broj: 3 2. Unesite broj: 4.3 3. Unesite broj: 9.3 4. Unesite broj: -2.9 Zbroj = 16.60 Prosjek = 5.53
Razlozi za izbjegavanje goto
Korištenje goto
izjave može dovesti do koda koji je pogrešan i teško ga je slijediti. Na primjer,
one: for (i = 0; i 5) ( goto three; )…
Također, goto
izjava vam omogućuje da radite loše stvari, poput iskakanja iz opsega.
Svejedno, goto
ponekad može biti korisno. Na primjer: za prekid iz ugniježđenih petlji.
Trebate li koristiti goto?
Ako mislite da upotreba goto
izjave pojednostavljuje vaš program, možete je koristiti. To je rečeno, goto
rijetko je korisno i možete stvoriti bilo koji C program bez ikakve upotrebe goto
.
Evo citata Bjarnea Stroustrupa, tvorca C ++-a, "Činjenica da" goto "može učiniti bilo je upravo razlog zašto ga ne koristimo."