Vidyalelo
C Programming · Q40

Function

Programming · C Programming · question 40

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
Answer
C.
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.