int f(int j){ static int i = 50; int k; if (i == j) { printf("something"); k = f(i); return 0; } else return 0;} |
Which one of the following is TRUE?
(A) The function returns 0 for all values of j.
(B) The function prints the string something for all values of j.
(C) The function returns 0 when j = 50.
(D) The function will exhaust the runtime stack or run into an infinite loop when j = 50
(A) The function returns 0 for all values of j.
(B) The function prints the string something for all values of j.
(C) The function returns 0 when j = 50.
(D) The function will exhaust the runtime stack or run into an infinite loop when j = 50
Answer: (D)
Explanation: When j is 50, the function would call itself again and again as neither i nor j is changed inside the recursion.
No comments:
Post a Comment