Home / General Knowledge / Testing New :: Discussion

Discussion :: Testing New

  1. Determine Output:

    void main()

    {

    static int i=5;

    if(--i){

    main();

    printf("%d ", i);

    }

    }

  2. A.

     5 4 3 2 1

    B.

     0 0 0 0

    C.

     Infinite Loop

    D.

     None of These

    View Answer

    Workspace

    Answer : Option B

    Explanation :

    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.


Be The First To Comment