C examples for Function:Recursive Function
Calculate factorials with loop based solution and recursion base solution
#include <stdio.h> long fact(int n); long rfact(int n); int main(void){ int num;/*from w w w . j av a 2 s.c om*/ printf("Enter a value in the range 0-12 (q to quit):\n"); while (scanf("%d", &num) == 1){ if (num < 0) printf("No negative numbers, please.\n"); else if (num > 12) printf("Keep input under 13.\n"); else { printf("loop: %d factorial = %ld\n", num, fact(num)); printf("recursion: %d factorial = %ld\n", num, rfact(num)); } printf("Enter a value in the range 0-12 (q to quit):\n"); } printf("done.\n"); return 0; } long fact(int n) // loop-based function { long ans; for (ans = 1; n > 1; n--) ans *= n; return ans; } long rfact(int n) // recursive version { long ans; if (n > 0) ans= n * rfact(n-1); else ans = 1; return ans; }