C goto -lausunto

Sisällysluettelo

Tässä opetusohjelmassa opit luomaan goto-lauseen C-ohjelmoinnissa. Opit myös, milloin goto-käskyä ja milloin ei pidä käyttää.

gotoSelvitys antaa meille mahdollisuuden siirtää valvonnan ohjelman määritettyä tunnusta.

Goto-lauseen syntaksi

 goto label;… … label: statement; 

Tunniste on tunniste. Kun gotokä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ö gotovoi johtaa viallisiin ja vaikeasti seurattaviin koodeihin. Esimerkiksi,

 one: for (i = 0; i 5) ( goto three; )… 

Myös gotoselvitys voit tehdä huonoja juttuja kuten hypätä pois soveltamisalasta.

Tästä huolimatta gotovoi olla joskus hyödyllistä. Esimerkiksi: katkaista sisäkkäisistä silmukoista.

Pitäisikö sinun käyttää gotoa?

Jos uskot, että gotolauseen käyttö yksinkertaistaa ohjelmaa, voit käyttää sitä. Tästä huolimatta gotoon harvoin hyödyllistä, ja voit luoda minkä tahansa C-ohjelman käyttämättä sitä gotokokonaan.

Tässä lainaus Bjarne Stroustrupilta, C ++: n luojalta: "Se, että" goto "voi tehdä mitä tahansa, on juuri syy, miksi emme käytä sitä.

Mielenkiintoisia artikkeleita...