hi friends can some one answer this question plz

int x=2;
int r= x-- * ++x + ++x;
printf("x= %d, r= %d", x, r);

and also for

r= ++x + ++x * --x;

and

r= ++x + ++x * x--;

can some explain how these expressions are eveluated