Tässä opetusohjelmassa opit luomaan goto-lauseen C-ohjelmoinnissa. Opit myös, milloin goto-käskyä ja milloin ei pidä käyttää.
goto
Selvitys antaa meille mahdollisuuden siirtää valvonnan ohjelman määritettyä tunnusta.
Goto-lauseen syntaksi
goto label;… … label: statement;
Tunniste on tunniste. Kun goto
käsky kohtaa, ohjelman hallinta hyppää kohtaan label:
ja alkaa suorittaa koodia.
Esimerkki: 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; )
Tuotos
1. Syötä numero: 3 2. Syötä numero: 4.3 3. Syötä numero: 9.3 4. Syötä numero: -2.9 Summa = 16.60 Keskiarvo = 5.53
Syyt välttää siirtymistä
Lausunnon käyttö goto
voi johtaa viallisiin ja vaikeasti seurattaviin koodeihin. Esimerkiksi,
one: for (i = 0; i 5) ( goto three; )…
Myös goto
selvitys voit tehdä huonoja juttuja kuten hypätä pois soveltamisalasta.
Tästä huolimatta goto
voi olla joskus hyödyllistä. Esimerkiksi: katkaista sisäkkäisistä silmukoista.
Pitäisikö sinun käyttää gotoa?
Jos uskot, että goto
lauseen käyttö yksinkertaistaa ohjelmaa, voit käyttää sitä. Tästä huolimatta goto
on harvoin hyödyllistä, ja voit luoda minkä tahansa C-ohjelman käyttämättä sitä goto
kokonaan.
Tässä lainaus Bjarne Stroustrupilta, C ++: n luojalta: "Se, että" goto "voi tehdä mitä tahansa, on juuri syy, miksi emme käytä sitä.