As you probably know, there are two kinds of increment (and decrement) operators. One comes before the operand - and is called prefix (++x), and the other one comes after the operand - and is called postfix (x++). Same can be said about the -- (decrement) operators.
Lets see what happens when we're applying both operators
int x = 5;
int y = 5;
printf("x = %d, y = %d",++x, y++);
The answer would be: "x = 6, y = 5". Why is that?
The reason is that the prefix operator (that in this case is being applied to x), is incrementing the value of x by one, and uses the result right away. In contrary, y's current value is being used, and only afterwards increments. Look at an equivalent example:
int x = 5;
int y = 5;
x = x + 1;
printf("x = %d, y = %d",x,y);
y = y + 1;
So lets translate now the example that you've presented, into a similar code.
int x=2,y=3;
x=++y + ++x;
y=++y + ++x;
printf("%d %d",x,y);
becomes:
int x=2,y=3;
y = y+1; x = x+1; x = y + x;
y = y+1; x = x+1; y = y + x;
printf("%d %d",x ,y);