Šioje pamokoje išmoksite sukurti goto sakinį programuodami C. Be to, sužinosite, kada naudoti „goto“ sakinį, o kada jo nenaudoti.
goto
Pareiškimas leidžia mums perduoti kontroliuoti programos į nurodytą etiketę.
Goto pareiškimo sintaksė
goto label;… … label: statement;
Etiketė yra identifikatorius. Kai goto
susiduriama su sakiniu, programos valdymas pereina prie label:
ir pradeda vykdyti kodą.
Pavyzdys: goto pareiškimas
// 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; )
Rezultatas
1. Įveskite skaičių: 3 2. Įveskite skaičių: 4.3 3. Įveskite skaičių: 9.3 4. Įveskite skaičių: -2.9 Suma = 16.60 Vidutinis = 5.53
Priežastys vengti goto
Naudojant goto
teiginį gali atsirasti klaidingas ir sunkiai sekamas kodas. Pavyzdžiui,
one: for (i = 0; i 5) ( goto three; )…
Be to, goto
teiginys leidžia jums padaryti blogus dalykus, pavyzdžiui, išeiti iš taikymo srities.
Tai sakant, goto
kartais gali būti naudinga. Pavyzdžiui: nutraukti nuo įdėtų kilpų.
Ar turėtumėte naudoti „goto“?
Jei manote, kad goto
teiginio naudojimas supaprastina jūsų programą, galite jį naudoti. Tai sakant, goto
retai yra naudinga ir galite sukurti bet kurią C programą nenaudodami goto
viso to.
Štai C ++ kūrėjos Bjarne Stroustrup citata: „Tai, kad„ goto “gali viską, yra būtent tai, kodėl mes jo nenaudojame“.