Home » C Programming » Expressions

What will be the output of the program? #include int main() { int i=2; printf("%d, %d\n", ++i, ++i); return 0; }

Correct Answer: Output may vary from compiler to compiler

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.


← Previous Question

More Questions from Expressions

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion