Bonjour à tous,

Je débute ma formation en langage C et j'essaye de faire un programme me permettant de calculer la factorielle d'un nombre donnée, j'ai écrit le programme suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
 
    int facto(int x) {
        if (x==1) {
                  return 1;
                  }else{
                        facto(x-1)*x;
                        }
                        }
 
int main(){
 
    int n;
     printf("entrez un nombre : ");
    scanf("%d",&n);
    printf("facto(%d)  = %d \n",n,facto(n));
    system("pause");
}



Or lorsque je rentre un chiffre différent de 1 la factorielle n'est pas calculée...pk et d'où vient mon erreur?


Merci pour vos réponses.