What will be the output of the program? #include<stdio.h> int main() { int i=2; printf("%d, %d ", ++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.


More Questions from Expressions

Discussion & Comments

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