1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
#include <stdio.h>
#include <stddef.h>     // for size_t
#include <stdint.h>     // for uint64_t

// forward declaration
uint64_t
factorial(uint64_t n);

int
main()
{
    size_t n;

    printf("n = ");
    scanf("%zu", &n);

    n = factorial(n);

    printf("n! = %zu\n", n);
}