BREAK και CONTINUE |
Οι προτάσεις break και continue χρησιμοποιούνται γιά την παράκαμψη δομών ελέγχου. Η πρόταση break εφαρμόζεται σε δομές επαναλήψεων και αποφάσεων και έχει ως αποτέλεσμα την συνέχεια της εκτέλεσης του προγράμματος στη πρώτη πρόταση μετά το τέλος της δομής. Η πρόταση continue εφαρμόζεται σε δομές επαναλήψεων και έχει ως αποτέλεσμα την συνέχεια της εκτέλεσης από την επόμενη επανάληψη. Οι προτάσεις αυτές αναλύονται με τη βοήθεια του προγράμματος που βρίσκεται στο αρχείο BREAKCON.C. Το πρόγραμμα είναι μιά ακολουθία δύο επαναλήψεων for με την κάθε επανάληψη να εκτελείται κανονικά εννέα φορές (γιά τις τιμές του μετρητή xx 5, 6, ..., 14). Στη πρώτη επανάληψη υπάρχει μία πρόταση break η οποία ενεργοποιείται όταν ο μετητής xx πάρει την τιμή 8. Η εκτέλεση του break τερματίζει την πρώτη επανάληψη for και οδηγεί στην δεύτερη. Έτσι η πρώτη δομή εκτελείται ολόκληρη μόνο τρείς φορές αντί γιά εννέα. Κατά την τέταρτη επανάληψη (γιά xx ίσο με 8) θα εκτελεστούν μόνο οι προτάσεις του σώματος που προηγούνται του break. Στη δεύτερη επανάληψη υπάρχει μία πρόταση continue στη ίδια ακριβώς θέση που είχε προηγούμενα η πρόταση break. Όταν ο μετρητής xx πάρει την τιμή 8 η πρόταση continue εκτελείται αλλά δεν οδηγεί σε τερματισμό της επαναληψης. Απλά οδηγεί στην παράκαμψη των υπολοίπων προτάσεων του σώματος της επανάληψης, έτσι ώστε ο έλεγχος του προγράμματος μετατίθεται στην πρόταση αύξησης του μετρητή. Οι προγούμενες και οι επόμενες επαναλήψεις εκτελούνται κανονικά. Έτσι έχουμε την εκτέλεση οκτώ πλήρων επαναλήψεων και μιάς διακεκομένης, όπου εκτελούνται μόνον οι εντολές πριν από το continue. Η εκτέλεση του προγράμματος φαίνεται παρακάτω. In the break loop, xx is now 5 In the break loop, xx is now 6 In the break loop, xx is now 7 In the continue loop, xx is now 5 In the continue loop, xx is now 6 In the continue loop, xx is now 7 In the continue loop, xx is now 9 In the continue loop, xx is now 10 In the continue loop, xx is now 11 In the continue loop, xx is now 12 In the continue loop, xx is now 13 In the continue loop, xx is now 14 |
![]() |
![]() |
![]() |