/* * Tail recursion * * Implements a factorial function using tail recursion instead of regular * recursion */ #include int facttail(int n, int cur) { if (n < 0) return 0; switch (n){ case (0): return 1; break; case (1): return cur; break; default: facttail(n - 1, cur * n); } } int main(void) { int a = 3; int b = 1; int res = 0; res = facttail(a, 1); printf("Res: %d\n", res); return 0; }