Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!

# Need help with a++/b-- expression

Sarikaa Bhatnagar
Greenhorn
Posts: 26
HI,

Can someone pls help me with this.
int a =8;
int b=3;
float f = (float)a++/b--;

correct ans is 2.66 and not 4.5. As per the operator precedence ++ and -- shd be evaluted first the / ?

Thanks,
Sarika.

ahmed yehia
Ranch Hand
Posts: 424

Sarikaa Bhatnagar
Greenhorn
Posts: 26
HI,

my ques is why ++ and -- are not evaluated first when as per operator precedence rule ++ adn -- takes precedence over / operator. So why the division happend 8/3 and not 9/2

thanks,
sarika.

ahmed yehia
Ranch Hand
Posts: 424

So why the division happend 8/3 and not 9/2

Because you are using the postfix increment operator, the variable is used in the expression then incremented.. Try the prefix version i.e ++a

Ranch Hand
Posts: 245
Originally posted by Sarikaa Bhatnagar:
HI,

my ques is why ++ and -- are not evaluated first when as per operator precedence rule ++ adn -- takes precedence over / operator. So why the division happend 8/3 and not 9/2

thanks,
sarika.

The ++ and -- are evaluated first but the value of a++ is 8 and value of b-- is 3.

The value of x++ is the old value of x.