V tomto kurzu se naučíte vytvářet příkaz goto v programování C. Také se naučíte, kdy použít příkaz goto a kdy jej nepoužívat.
Příkaz goto
nám umožňuje převést kontrolu nad programem na zadaný štítek.
Syntaxe příkazu goto
goto label;… … label: statement;
Štítek je identifikátor. Když dojde k goto
příkazu, ovládací prvek programu přeskočí label:
a začne provádět kód.
Příklad: příkaz 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; )
Výstup
1. Zadejte číslo: 3 2. Zadejte číslo: 4,3 3. Zadejte číslo: 9,3 4. Zadejte číslo: -2,9 Součet = 16,60 Průměr = 5,53
Důvody, proč se vyhnout goto
Použití goto
příkazu může vést k chybnému a obtížně sledovatelnému kódu. Například,
one: for (i = 0; i 5) ( goto three; )…
Příkaz vám také goto
umožňuje dělat špatné věci, například vyskočit z rozsahu.
Jak již bylo řečeno, goto
může být někdy užitečné. Například: vymanit se ze vnořených smyček.
Měli byste použít goto?
Pokud si myslíte, že použití goto
příkazu zjednodušuje váš program, můžete jej použít. To je řečeno, goto
je zřídka užitečné a můžete vytvořit libovolný program C, aniž byste jej museli používat goto
úplně.
Zde je citát Bjarna Stroustrupa, tvůrce C ++, „Skutečnost, že„ goto “může dělat cokoli, je přesně důvod, proč jej nepoužíváme.“