Home / C Programming / Expressions :: Discussion

Discussion :: Expressions

  1. What will be the output of the program?

    #include
     int main() 
     {
         int i=2; 
         printf("%d, %d\n", ++i, ++i);   
         return 0; 
    } 
    

  2. A.

    3, 4

    B.

    4, 3

    C.

    4, 4

    D.

    Output may vary from compiler to compiler

    View Answer

    Workspace

    Answer : Option D

    Explanation :

    The order of evaluation of arguments passed to a function call is unspecified.

    Anyhow, we consider ++i, ++i are Right-to-Left associativity. The output of the program is 4, 3.

    In TurboC, the output will be 4, 3.

    In GCC, the output will be 4, 4.


Be The First To Comment