Can some one answer this question

avinash_reddy's Avatar, Join Date: Apr 2008
Newbie Member
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
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
The answer can change from compilers to compilers and so see what is the output in your compiler and just try justifying it.
tarek issa's Avatar, Join Date: Apr 2008
Newbie Member
i understood ur question.
there is a trick in doing x++ and ++x, for example:
if doing this:
++x*2 first x multiplyese by 2, and then it (x) increases by 1.
if doing this:
x++*2 first x increases by 1, and then the multiply will be done.
technosavvy's Avatar
Contributor
trying googling sequence point and u will understand why it is an undefined behaviour