Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Κ8.4 · for χωρίς συνθήκη με break

Kahoot «Ροή Ελέγχου #2» (διάλεξη 8) · Δυσκολία ★★★ · multiple-choice · 36% σωστές απαντήσεις (157 απαντήσεις στο αμφιθέατρο) · Κεφάλαια: 8

Θα τελειώσει αυτό το loop;

for (i = 1; ; i++)
    if (i == 0)
        break;

Συχνή παρανόηση

Το 32% απάντησε ότι τελειώνει «μόνο όταν λιώσει η CPU», θεωρώντας ότι το i δεν θα γίνει ποτέ 0· όμως μετά τη μέγιστη τιμή του ο ακέραιος υπερχειλίζει σε αρνητικούς και φτάνει ξανά στο 0.

Υπόδειξη

Ένας int έχει πεπερασμένο εύρος τιμών· σκεφτείτε τι γίνεται αν συνεχίσουμε να τον αυξάνουμε πέρα από τη μέγιστη τιμή του.

Αριθμός στον οδηγό: Κ8.4 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: kahoot-for-break-overflow · Σύνδεσμος: https://progintro.github.io/study/questions/kahoot/kahoot-for-break-overflow.html · Markdown (GitHub)