Q. 39 Consider the C functions foo and bar given below:
int foo(int val) { int x = 0; while (val > 0) { x = x + foo(val--); } return val; } int bar(int val) { int x = 0; while (val > 0) { x = x + bar(val-1); } return val; }
Invocations of foo(3) and bar(3) will result in:
(A) Return of 6 and 6 respectively
(B) Infinite loop and abnormal termination respectively
(C) Abnomal termination and infinite loop respectively
(D) Both terminating abnormally
Answer: (C)
Explanation