/* factrecp.c */ /* print ver. */ #include int nm; /* mem number */ int fact(int n) { int nb; nm++; printf("Func IN : n=%d : mem number = %d \n",n, nm); nb=1; if (n > 1) { nb=fact(n-1)*n; } nm--; printf("Func OUT : n=%d : mem number = %d \n",n, nm); return nb; } int main(void) { int n,f; n=10; printf("S ----------------\n"); nm=0; f=fact(n); printf("E ----------------\n"); printf("%d! = %d\n",n,f); return 0; }