Question sur le C

Bonjour,
Je suis sur l'alogorytme du labyrinthe et je me retrouve avec une fonction qui fait appelle fait appelle à elle-meme, et cela une dizaine de fois. Cela donne :

int fonction()
{
fonction();
}
Est-ce que cela est génant en C,sachant que a la fin du programme, toutes les fonctions ainsi imbriqués se referment.

Merci de me répondre.

Bonjour,

Effectivement, un algorithme qui se rappelle lui-même est dit récursif.
Cela ne pose aucun problème en C, sauf si tu fais une récursion infinie, bien entendu.
De fait, une des règles fondamentale pour éviter les problèmes est de s'assurer que ta fonction contient un cas d'arrêt : une combinaison des paramètres qui ne déclenche pas d'appel récursif. La deuxième règle est qu'il faut que tu modifies au moins un paramètre a chaque appel récursif.

Tu peux aller voir http://fr.wikipedia.org/wiki/Algorithme_récursif pour en savoir plus. N'hésite pas à revenir poser des questions sur des points pas clairs :)

--
O'Xian
Prologin

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.