/* File: recurse3.c Recursion and local variables. */ void recall(int depth) { int i ; int local1, local2 ; if (depth == 9) { printf(" ") ; printf("*** Base Case depth = 9\n\n") ; return ; } local1 = 3 * depth ; local2 = 7 * depth ; for (i = 0 ; i < depth ; i++) { printf(" ") ; } printf("Recursion depth = %d local1 = %d, local2 = %d\n\n", depth, local1, local2) ; recall(depth+1) ; for (i = 0 ; i < depth ; i++) { printf(" ") ; } printf("Return from depth = %d local1 = %d, local2 = %d\n\n", depth, local1, local2) ; } main() { recall(0) ; }