It would be whatever value that is stored in the x's address + 2
you have int x = 9
and the pointer *yptr
&x is what obtains the address from x
yptr is obtaining this address as the value
so the in a quick example
yptr is = x's address + 2
so *yptr is now taking the value of this new address and will output it
example:(making up some fake address
yptr=100 + 2
*yptr=value(102)
As I said nobody can say what will be outputed. The code has undefined behavior. We do not know whether there is an object of type int at address &x + 2