1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
int printf(const char *, ...);       // pre-declaration of function

unsigned int
factorial(unsigned int n)
{
    printf("&n = %p\n", &n);
    if (n>1) {
        return n*factorial(n-1);
    } else {
        return 1;
    }
}

int
main()
{
    printf("%u\n", factorial(4));
}