J'essaie de calculer factorielle en utilisant la récursivité mais mon programme retourne une valeur erronée. Je suis incapable de comprendre la fonctionnalité de récursivité. Aidez-moi à comprendre comment la récursivité fonctionne. Mon code est le suivant:Programme factoriel utilisant la récurrence retournant une valeur erronée
#include <stdio.h>
#include <math.h>
int main()
{
//code
int T,N,sol;
scanf("%d\n",&T);
while(T--) {
scanf("%d\n",&N);
sol=fact(N);
printf("%d\n",sol);
}
return 0;
}
int fact(int n)
{
int value;
while(n>0) {
value=n*fact(n-1);
n=n-1;
}
return value;
}
Comme vous avez mal configuré la fonction – Li357
, initialisez 'value' avant de l'utiliser. De plus, la fonction est erronée aussi. – Haris
@AndrewL. pouvez-vous s'il vous plaît laissez-moi savoir où est l'erreur dans la fonction –