Ero sivun ”Rekursio” versioiden välillä
[katsottu versio] | [katsottu versio] |
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa |
|||
Rivi 20:
return n * factorial(n-1)
Yleinen ohjelmointivirhe on niin sanottu [[ikuinen silmukka]], jossa funktiokutsu ei koskaan palaa vaan etenee yhä toistuvasti saman funktion kautta rekursiivisesti kiertäen. [[Pino]] on välttämätön rekursiivisten aliohjelmien toteuttamiseen, mutta pinolla on myös rajattu koko: useissa ohjelmointikielissä rajaamaton rekursio voi aiheuttaa pinon ylivuodon ({{k-en|stack overflow}}).
Mikäli ohjelmakoodin rekursiivinen osa on niin sanottu [[häntärekursio]], voidaan rekursio muuttaa tavalliseksi silmukaksi.
|