C goto Δήλωση

Πίνακας περιεχομένων

Σε αυτό το σεμινάριο, θα μάθετε να δημιουργείτε τη δήλωση goto στον προγραμματισμό C. Επίσης, θα μάθετε πότε να χρησιμοποιήσετε μια δήλωση goto και πότε να μην τη χρησιμοποιείτε.

Η gotoδήλωση μας επιτρέπει να μεταφέρουμε τον έλεγχο του προγράμματος στην καθορισμένη ετικέτα.

Σύνταξη της δήλωσης goto

 goto label;… … label: statement; 

Η ετικέτα είναι αναγνωριστικό. Όταν gotoσυναντηθεί η δήλωση, ο έλεγχος του προγράμματος μεταβαίνει label:και ξεκινά την εκτέλεση του κώδικα.

Παράδειγμα: 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; )

Παραγωγή

 1. Εισαγάγετε έναν αριθμό: 3 2. Πληκτρολογήστε έναν αριθμό: 4.3 3. Εισαγάγετε έναν αριθμό: 9.3 4. Εισαγάγετε έναν αριθμό: -2,9 Άθροισμα = 16,60 Μέσος όρος = 5,53

Λόγοι για να αποφύγετε το goto

Η χρήση της gotoδήλωσης μπορεί να οδηγήσει σε κώδικα με λάθη και δύσκολο να ακολουθηθεί. Για παράδειγμα,

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

Επίσης, η gotoδήλωση σάς επιτρέπει να κάνετε κακά πράγματα, όπως να ξεφύγετε από το πεδίο εφαρμογής.

Τούτου λεχθέντος, gotoμπορεί να είναι χρήσιμο μερικές φορές. Για παράδειγμα: να σπάσετε από ένθετους βρόχους.

Πρέπει να χρησιμοποιήσετε το goto;

Εάν πιστεύετε ότι η χρήση της gotoδήλωσης απλοποιεί το πρόγραμμά σας, μπορείτε να τη χρησιμοποιήσετε. Τούτου λεχθέντος, gotoείναι σπάνια χρήσιμο και μπορείτε να δημιουργήσετε οποιοδήποτε πρόγραμμα C χωρίς να το χρησιμοποιήσετε gotoκαθόλου.

Ακολουθεί ένα απόσπασμα από τον Bjarne Stroustrup, δημιουργό του C ++, "Το γεγονός ότι το" goto "μπορεί να κάνει οτιδήποτε είναι ακριβώς γιατί δεν το χρησιμοποιούμε."

ενδιαφέροντα άρθρα...