Q27
Determine Output: void main() static int i=5; if(--i) main(); printf("%d ", i);
A.
5 4 3 2 1
B.
0 0 0 0
AnswerC.
Infinite Loop
D.
None of These
Answer: Option B
Solution
Answer: Option B
Solution:
The variable "i" is declared as static, hence memory for I will be allocated for only once, as it encounters the statement. The function main() will be called recursively unless I becomes equal to 0, and since main() is recursively called, so the value of static I ie., 0 will be printed every time the control is returned.