?
What number will z in the sample code given below?
What number will z in the sample code given below?
int z, x=5, y= -10, a=4, b=2;
z = x++ - --y*b/a;
int z, x=5, y= -10, a=4, b=2;
z = x++ - --y*b/a;
Answer & Solution
Correct Answer:
Option
D
C Operator Precedence Table
According to precedence table execution of the given operators are as follows:
1. x++(Postfix operator) i.e x will become 5
2. y--(Prefix operator) i.e y will become -11
3. * and / have same priority so they will be executed according to their associativity i.e left to right. So, *(Multiplication) will execute first and then /(division).
4. -(Subtraction)
So the complete expression would be
5 - (-11)*2/4 = 5 - (-22)/4 = 5 - (-5) = 5 + 5 = 10.
Join the Discussion
Login to post a comment or share your explanation.
Login1.first precedence increament oprator execute x++=6
2.second precedence --y=-9
3.3rd y*b because of in the precedence rule both * and / precedence are same here first come any one in both there are consider in this multiplication come because of y*b=-9*b=-18
4.4th is b/a=-18/4=6.5 in the integer float value 6.5 consider as 6
5.5th calculation=6- -9*2/4=10
Thats solve.
High priority * / %
Low priority + -
Z= 5++ - - -(-10)*2/4
= 5++ - - - (-5)
= 5+5
=10
-20/4=5 is right