Bonsoir à tous,
voilà j'ai écrit une fonction factorielle, mais le résultat affiché, n'est plus correct à partir de 32.
ça fait rager ! le programme compile, on croit qu'il est bon, mais là, on se rend compte qu'il bug!!! rrh
voici la source que j'ai écrit:
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
20
21
 
#include <stdio.h>
#include <stdlib.h>
  long factoriel (long a)
{
    if(a<=1) return 1;
    return a*factoriel(a-1);
}
int main()
{
          int nb;
 
            printf("Veuillez saisir un nombre : ");
          scanf("%d", &nb);
 
          printf("\n % d! = %ld\n\n\n\n", nb, factoriel(nb));
 
 
 
          return 0;
}
Je vous remercie de l'aide que vous pourrez m'apporter.