Examveda
Examveda

Determine Output:
void main()
{
      static int var = 5;
      printf("%d ", var--);
      if(var)
            main();
}

A. 5 5 5 5 5

B. 5 4 3 2 1

C. Infinite Loop

D. None of These

Answer: Option B

Solution(By Examveda Team)

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.


This Question Belongs to C Program >> C Miscellaneous

Join The Discussion

Comments ( 2 )

  1. 511 _Nikhil
    511 _Nikhil :
    2 years ago

    I heard that static variables cannot be changed !! Under that case the option should be D?

  2. Smithin Vijayan
    Smithin Vijayan :
    7 years ago

    If(var)

    var is an int variable ,
    If should contain a bool value write?

Related Questions on C Miscellaneous