The output will be 1.
Your expression ++x will be
x = x+1;
In both the printf() you get 1
So the value of x is modified with the pre-increment operator here and in printf() in the second line prints the new value of x which is 1
printf() just prints the value of x it doesn’t modify your variable
Note the difference between pre-increment and post-increment .
With post-increment you will get 0 in the first printf() because the value of x is fetched by the printf()'s %d and later x gets incremented leading to the value of x in the second prinf() to be 1
solved Does printf alter variables?