Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1761 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Question tte conne sur une recursivité !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Question tte conne sur une recursivité !

n°959173
Bourreau
Posté le 22-01-2005 à 12:21:40  profilanswer
 

Salut,
je suis en 2e année de Math-Info, et la je suis sur un exo qui me pose un peu problème. Dans le fond il ma parail tt simple, mais j'ai a chq fois une erreur :??:
 
Le but est ici de faire une fonction récursive donnant la factorielle d'un nombre et qui place le résultat en paramètre.
 
J'ai pour l'instant écrit ca :
 

Citation :


void Fact(int n,int *resultat)  
{  
     
    *resultat=*resultat*n;  
    n--;  
    Fact(n,*resultat);  
}    
 
 
main()
 
int *resultat=1;
 
...
...


 
Mais le compileur me donne à chq fois le msg suivant :
 

Citation :

[Warning] passing arg 2 of `Fact' makes pointer from integer without a cast


 
Qqun aurait une idée d'ou vient le prob SVP ? :(
 
 
Merci d'avance :)

mood
Publicité
Posté le 22-01-2005 à 12:21:40  profilanswer
 

n°959175
cricri_
Posté le 22-01-2005 à 12:27:07  profilanswer
 

Code :
  1. void Fact(int n,int *resultat) 
  2.    
  3.     *resultat=*resultat*n; 
  4.     n--; 
  5.     Fact(n,resultat); 
  6. }


Message édité par cricri_ le 22-01-2005 à 12:27:31
n°959192
masklinn
í dag viðrar vel til loftárása
Posté le 22-01-2005 à 12:44:15  profilanswer
 

Bourreau a écrit :


Citation :


void Fact(int n,int *resultat)  
{  
     
    *resultat=*resultat*n;  
    n--;  
    Fact(n,*resultat);
}    
 
 
main()
 
int *resultat=1;
 
...
...



La ligne en gras
 
tu es censé passer un pointeur sur un int à ta fonction Fact, et là tu lui passe un int (ce sur quoi pointe un pointeur sur un int)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°959195
Bourreau
Posté le 22-01-2005 à 12:46:51  profilanswer
 

Je vous remercie bcp :)
 
Yavait encore une chtite erreur apres, mais C resolu, impec' :jap:


Message édité par Bourreau le 22-01-2005 à 12:47:16
n°959233
Emmanuel D​elahaye
C is a sharp tool
Posté le 22-01-2005 à 13:35:04  profilanswer
 

Bourreau a écrit :



main()
 
int *resultat=1;
 
...
...




En dehors de ce qui a été dit, ceci est très faux. On ne peut pas initialiser un pointeur avec un entier comme ça... D'autre part, c'est probablement une erreur de conception.
 
Tu voulais sans doute dire (par exemple)


void fact(...)
{
}
 
int main(void)
{
   int resultat = 1;
 
   fact (5, &resultat);
 
   return 0;
}


Message édité par Emmanuel Delahaye le 22-01-2005 à 13:36:25

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°959301
KangOl
Profil : pointeur
Posté le 22-01-2005 à 15:39:15  profilanswer
 

de plus tu n'as aucune conditions de sortie de ta fonction :/


---------------
Nos estans firs di nosse pitite patreye...
n°959322
Bourreau
Posté le 22-01-2005 à 16:42:28  profilanswer
 

Emmanuel => oui je sais, le main CT juste perso pour penser à un truc ;)
 
kangol => je sais aussi, CT ecrit tel quel dans le sujet, CT pas pour un but précis :/
 
Merci qd meme :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Question tte conne sur une recursivité !

 

Sujets relatifs
question sur le stockage des fichiers pour un site webmatlab: petite question mais qui commence à m'enerver..
question sur visual basic ![MFC] Questions de débutant... (1 question résolue sur 2)
Question de code phpQuestion sur les fonctions??
Question divers pour débutantquestion toute bete
[C/Linux]Question sur les pthreadQuestion de nb sur mon formulaire
Plus de sujets relatifs à : [C] Question tte conne sur une recursivité !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR