home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / qc_prog / chap06 / recurse.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-04-05  |  710 b   |  33 lines

  1. /* recurse.c -- demonstrates recursion */
  2.  
  3. int level = 1; /* recursion level */
  4. main()
  5. {
  6.     int num, result;
  7.  
  8.     printf("Factorial of what number? ");
  9.     scanf("%d", &num);
  10.     result = factorial(num);
  11.     printf("Result is: %d\n", result);
  12. }
  13.  
  14. factorial(number)
  15. {
  16.     int result;
  17.     printf("entering: ");
  18.     printf("level %d. number = %d. &number = %d\n",
  19.             level++, number, &number);
  20.  
  21.     if (number == 0)
  22.         result = 1;
  23.     else
  24.         result = number * factorial(number - 1);
  25.  
  26.     printf("exiting : ");
  27.     printf("level %d. number = %d. &number = %d. ",
  28.             --level, number, &number);
  29.     printf("result = %d\n", result);
  30.  
  31.     return(result);
  32. }
  33.