Recursif

snake020 Messages postés 18 Statut Membre -  
snake020 Messages postés 18 Statut Membre -
salut tt le monde,voila jai un petit probleme,
on considere par exemple une fonction marcher() definit comme suit
void marcher()
{un_pas_en_avant()
marcher()
}
cette fonction fait appelle a elle meme et devrait boucler infiniment(a mon avis car ya pas de condition darret)
mais dautre pensent quel va sarreter car la pile dexecution est fini,moi jy comprends rien
pleaz help

2 réponses

blux Messages postés 27992 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
Salut,

il n'y a pas de condition d'arrêt donc la fonction va "théoriquement" se poursuivre à l'infini...

MAIS, à l'exécution d'un programme on réserve de la place en mémoire pour les appels, la sauvegarde des registres... On va se retrouver avec un empilage de donnée qui saturera bien vite la mémoire, provoquant l'arrêt du programme sur condition d'erreur...
0
snake020 Messages postés 18 Statut Membre
 
merci pout tout ,a+
0