Q40
What will be the output of the following program code? main() static int var = 5; printf("%d ", var--); if(var) main();
A.
5 5 5 5 5
B.
5 4 3 2 1
AnswerC.
Infinite Loop
D.
Compilation Error
E.
None of these
Answer: Option B
Solution
Answer: Option B
Solution:
When static storage class is given, it is initialized once. The change in the value of a static variable is retained even between the function calls. Main is also treated like any other ordinary function, which can be called recursively.