| Author |
Need help with a++/b-- expression
|
Sarikaa Bhatnagar
Greenhorn
Joined: May 10, 2005
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
Joined: Apr 22, 2006
Posts: 424
|
|
|
|
 |
Sarikaa Bhatnagar
Greenhorn
Joined: May 10, 2005
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
Joined: Apr 22, 2006
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
|
 |
Vlado Zajac
Ranch Hand
Joined: Aug 03, 2004
Posts: 244
|
|
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.
|
 |
 |
|
|
subject: Need help with a++/b-- expression
|
|
|