C Programming - Expressions - Discussion

Discussion Forum : Expressions - Find Output of Program (Q.No. 12)
12.
What will be the output of the program?
#include<stdio.h>
int main()
{
    int i=2;
    printf("%d, %d\n", ++i, ++i);
    return 0;
}
3, 4
4, 3
4, 4
Output may vary from compiler to compiler
Answer: Option
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.

Discussion:
43 comments Page 5 of 5.

Ganesh said:   7 years ago
I am not getting it. Please explain me.
(1)

Piyush Watmode said:   4 years ago
Actully, the output in gcc compiler is 4, 4.
(1)

Usha said:   3 years ago
But its prints the latest value 4, 4 only. Am I right?


Post your comments here:

Your comments will be displayed after verification.