Récursivité en C

Résolu
blanccc Messages postés 23 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juin 2006 - 31 mai 2006 à 12:07
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 31 mai 2006 à 12:18
bonjour tout le monde,

j'ai besoin d'utiliser une méthode récursive dans mon programme en C. Est-ce que c'est possible et, si oui, y a-t-il une syntaxe particulière pour définir qu'une fonction va être récursive ?

Pour être plus précis, j'ai :

typedef struct {
T_Model* Father;
T_Model* FirstSon;
T_Model* NextBrother;
T_Node* Node;
} T_Model;

et T_Node est défini comme suit :

typedef struct {
int valeur;
T_Node* next;
} T_Node;

Mon objectif est de parcourir toutes les valeurs des T_Node contenus dans les T_Model.... Si la valeur que je lis n'a jamais été lue avant je dois rajouter un T_Objet à une liste chainée T_Objet*. vous auriez une idée de la façon dont je pourrais m'y prendre sachant que cette structure de données m'est imposée, je ne peux pas la modifier !

Merci pour votre aide en tous cas ;)

Cédric

1 réponse

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
31 mai 2006 à 12:18
voici une fct récursive (factorielle)

int fact(x)
{
if(x <= 1)
  return 1;
else
  return x*fact(x-1);
}

il suffit d'avoir une condition d'arrêt et de rappeler la même fct.
3
Rejoignez-nous