Έχετε ήδη δει τη δήλωση break να χρησιμοποιείται σε ένα προηγούμενο κεφάλαιο αυτού του οδηγού. Χρησιμοποιήθηκε για να “βγει” από μια δήλωση switch.
Η δήλωση break μπορεί επίσης να χρησιμοποιηθεί για να βγεί από ένα loop.
Το παρακάτω παράδειγμα βγαίνει από τον for loop όταν η μεταβλητή i είναι ίση με 13:
#include <stdio.h> int main() { int i; for (i = 0; i <= 15; i++) { if (i == 13) { break; } printf("%d ", i); } return 0; }
Στο παραπάνω παράδειγμα, η μεταβλητή i αυξάνεται κατά 1 σε κάθε επανάληψη του for loop. Αν η μεταβλητή i είναι ίση με 13, τότε εκτελείται η δήλωση break και το πρόγραμμα βγαίνει από τον for loop. Αν η μεταβλητή i δεν είναι ίση με 13, τότε εκτυπώνεται η τιμή της.
Το αποτέλεσμα του παραπάνω παραδείγματος θα είναι η εκτύπωση των αριθμών 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 και 12 στη σειρά. Η εκτέλεση σταματά όταν η μεταβλητή i γίνει ίση με 13, και ο αριθμός 13 δεν εκτυπώνεται.
Η δήλωση continue διακόπτει μια επανάληψη στο loop αν συμβεί μια συγκεκριμένη συνθήκη και συνεχίζει με την επόμενη επανάληψη στο loop.
Το παρακάτω παράδειγμα παραλείπει την τιμή του 13:
#include <stdio.h> int main() { int i; for (i = 0; i <= 15; i++) { if (i == 13) { continue; } printf("%d ", i); } return 0; }
Στο παραπάνω παράδειγμα, η μεταβλητή i αυξάνεται κατά 1 σε κάθε επανάληψη του for loop. Αν η μεταβλητή i είναι ίση με 13, τότε εκτελείται η δήλωση continue και το πρόγραμμα παραλείπει την τιμή της και συνεχίζει με την επόμενη επανάληψη του for loop. Αν η μεταβλητή i δεν είναι ίση με 13, τότε εκτυπώνεται η τιμή της.
Το αποτέλεσμα του παραπάνω παραδείγματος θα είναι η εκτύπωση των αριθμών 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 και 14 στη σειρά. Η εκτέλεση συνεχίζεται με την επόμενη τιμή της μεταβλητής i όταν η τιμή της είναι ίση με 13.
Μπορείτε επίσης να χρησιμοποιήσετε τις δηλώσεις break και continue σε while loops:
Παράδειγμα με break:
#include <stdio.h> int main() { int i = 0; while (i <= 10) { if (i == 5) { break; } printf("%d ", i); i++; } return 0; }
Στο παραπάνω παράδειγμα, η μεταβλητή i αυξάνεται κατά 1 σε κάθε επανάληψη του while loop. Αν η μεταβλητή i είναι ίση με 5, τότε εκτελείται η δήλωση break και το πρόγραμμα βγαίνει από το while loop. Αν η μεταβλητή i δεν είναι ίση με 5, τότε εκτυπώνεται η τιμή της.
Το αποτέλεσμα του παραπάνω παραδείγματος θα είναι η εκτύπωση των αριθμών 0, 1, 2, 3 και 4 στη σειρά. Η εκτέλεση σταματά όταν η μεταβλητή i γίνει ίση με 5, και ο αριθμός 5 δεν εκτυπώνεται.
Παράδειγμα με continue:
#include <stdio.h> int main() { int i = 0; while (i <= 10) { if (i == 5) { i++; continue; } printf("%d ", i); i++; } return 0; }
Στο παραπάνω παράδειγμα, η μεταβλητή i αυξάνεται κατά 1 σε κάθε επανάληψη του while loop. Αν η μεταβλητή i είναι ίση με 5, τότε εκτελείται η δήλωση continue και το πρόγραμμα παραλείπει την τιμή και συνεχίζει με την επόμενη επανάληψη του while loop. Αν η μεταβλητή i δεν είναι ίση με 5, τότε εκτυπώνεται η τιμή της.
Το αποτέλεσμα του παραπάνω παραδείγματος θα είναι η εκτύπωση των αριθμών 0, 1, 2, 3, 4, 6, 7, 8, 9, 10 στη σειρά. Η επανάληψη παραλείπει την τιμή της μεταβλητής i όταν η τιμή της είναι ίση με 5, αλλά συνεχίζεται με την επόμενη τιμή της μεταβλητής i στην επόμενη επανάληψη του while loop.