Please take a look at this:

//--------------------
const int x = 5; // 1
int u, v;

*(int*)&x = 9; // 2

u = x; // 3
v = *(int*)&x;
//--------------------
Watch x values while debugging, say at lines 1, 2 and 3.

Question: what's the final value for u and v after executing these lines of code?

WHY?? ;°))