Είχαμε πει «η αναδρομή πρέπει να τελειώνει». Γιατί;
void recurse() {
recurse();
}
int main() {
recurse();
return 0;
}
$ gcc -o rec rec.c
$ ./rec
Segmentation fault
Σκεφτείτε τι μπαίνει στη στοίβα σε κάθε κλήση της recurse και πότε αφαιρείται.
Η στοίβα έχει πεπερασμένο μέγεθος (δείτε ulimit -s).
Αριθμός στον οδηγό: Α13.2
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lec13-infinite-recursion ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec13-infinite-recursion.html ·
Markdown (GitHub)