V tomto tutoriále sa naučíte vytvárať príkaz goto v programovaní C. Dozviete sa tiež, kedy a kedy používať príkaz goto a kedy ho nepoužívať.
Príkaz goto
nám umožňuje preniesť kontrolu nad programom na zadaný štítok.
Syntax príkazu goto
goto label;… … label: statement;
Štítok je identifikátor. Keď goto
sa vyskytne príkaz, riadenie programu skočí na label:
a začne vykonávať kód.
Príklad: prechod na vyhlásenie
// 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; )
Výkon
1. Zadajte číslo: 3 2. Zadajte číslo: 4,3 3. Zadajte číslo: 9,3 4. Zadajte číslo: -2,9 Súčet = 16,60 Priemer = 5,53
Dôvody, prečo sa treba vyhnúť
Použitie goto
vyhlásenia môže viesť k chybnému a ťažko sledovateľnému kódu. Napríklad,
one: for (i = 0; i 5) ( goto three; )…
Toto goto
vyhlásenie tiež umožňuje robiť zlé veci, ako napríklad vyskočiť z rozsahu.
To je povedané, goto
môže byť niekedy užitočné. Napríklad: vymaniť sa z vnorených slučiek.
Mali by ste použiť goto?
Ak si myslíte, že použitie goto
príkazu zjednodušuje váš program, môžete ho použiť. To je povedané, goto
je zriedka užitočné a môžete vytvoriť akýkoľvek program C bez goto
úplného použitia .
Tu je citát Bjarneho Stroustrupa, tvorcu C ++, „Skutočnosť, že„ goto “môže robiť čokoľvek, je presne dôvod, prečo ho nepoužívame.“