Can some one answer this question

Newbie Member
10Apr2008,10:30   #1
avinash_reddy's Avatar
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
Go4Expert Founder
10Apr2008,19:34   #2
shabbir's Avatar
The answer can change from compilers to compilers and so see what is the output in your compiler and just try justifying it.
Newbie Member
10Apr2008,19:43   #3
tarek issa's Avatar
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.
Contributor
11Apr2008,16:34   #4
technosavvy's Avatar
trying googling sequence point and u will understand why it is an undefined behaviour