Τι θα συμβεί αν δώσουμε έναν αρνητικό αριθμό στη συνάρτησή μας;
int factorial(int number) {
if (number == 0) return 1;
else return number * factorial(number - 1);
}
Ακολουθήστε τις τιμές του number στις διαδοχικές κλήσεις ξεκινώντας από -1. Φτάνει
ποτέ στη βάση τερματισμού; Τι κοστίζει στη μνήμη κάθε κλήση που δεν έχει ακόμα
επιστρέψει; Πώς θα άλλαζε η συνθήκη της βάσης για να προστατεύεται η συνάρτηση;
Αριθμός στον οδηγό: Α11.13
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lec11-factorial-negative ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec11-factorial-negative.html ·
Markdown (GitHub)