CE code c ne marche pas

Bonjour,
je veut faire un factorielle voici le code que jai mis mais il ne marche pas ,vous pouvez me le corriger svp??

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{

int nombre=0,resultat=0;
printf("entre le nombre:\n");
scanf("%d",&nombre);
int i=0;
i=nombre-1;

while(i>0)
{
resultat=nombre*i;
--i;
printf("le factoriel de %d nombre est : %d\n",resultat);
}
}

2 réponses

  1. Modérateur
    Salut,

    Essaye ceci :

    resultat = resultat + nombre*i;

    Car à chaque boucle tu perds ton resultat précédent sinon...
    1. dsl mais sa marhe pas eceque je peut utiliser les pointeurs?
  2. Contributeur
    Bonjour,

    sans dire de bêtises tu pars dans la mauvaise directions, car il faut faire une fonction récursive, ou la fonction s'appelle elle-même. C'est comme ça que se fait la fonction factorielle.

    Cordialement.