-static unsigned _fak(unsigned a, unsigned b)
-{
- if (a == 0)
- return b;
-
- return _fak(a-1, a*b);
-}
+#include <stdio.h>
-static fak(unsigned a)
+static unsigned fak(unsigned n)
{
- return _fak(a, 1);
+ if (n == 0)
+ return 1;
+
+ return n * fak(n - 1);
}
int x = 4;
printf("%d! = %d\n", x, fak(x));
+
+ return 0;
}