Η επανάληψη της επανάληψης |
Είναι μάλλον προφανές οτι μιά σύνθετη πρόταση που αποτελεί το σώμα μιάς επανάληψης μπορεί κάλλιστα να είναι (ή να περιέχει) μιά καινούργια επανάληψη. Γιά παράδειγμα while (έκφραση) { πρόταση; ... while (έκφραση) { πρόταση; ... πρόταση; } ... πρόταση; } Γιά παράδειγμα τα δύο προγράμματα των επεναλήψεων while και do-while μπορούν να συνδυαστούν σε μιά διπλή επανάληψη όπως φαίνεται στο πρόγραμμα του αρχείου NESTLOOP.C. Η εσωτερική επανάληψη επαναλαμβάνεται από την αρχή όσες φορές ορίζει η εξωτερική επανάληψη. Το αποτέλεσμα της εκτέλεσης δίνεται παρακάτω και η εξήγησή του αφήνεται σαν άσκηση. The value of i is now 0 The value of i is now 1 The value of count is 0 The value of i is now 0 The value of i is now 1 The value of count is 1 The value of i is now 0 The value of i is now 1 The value of count is 2 Δεν υπάρχει κάποιος περιορισμός στα επίπεδα επικάλυψης που επιτρέπονται. Όμως πρέπει κανείς να είναι πολύ προσεκετικός με τις αρχικές συνθήκες καθώς και τις συνθήκες τερματισμού των διαδοχικών επαναλήψεων. Παρατηρείστε, γιά παράδειγμα, τα παρακάτω. Πρώτο, τι θα συνέβαινε άν το όριο τερματισμού της εσωτερικής επανάληψης δεν είναι το 2 αλλά η τιμή της μεταβλητής count. Δεύτερο, τι θα συνέβαινε αν η αρχικοποίηση της μεταβλητής i μετατεθεί εκτός του εξωτερικού βρόγχου, μαζί με την αρχικοποίηση της count. |
![]() |
![]() |
![]() |