C | Operators | Question 23
Predict the output of following program?
# include <stdio.h> int main() { int x = 10; int y = 20; x += y += 10; printf ( " %d %d" , x, y); return 0; } |
(A) 40 20
(B) 40 30
(C) 30 30
(D) 30 40
Answer: (B)
Explanation: The main statement in question is “x += y += 10”. Since there are two += operators in the statement, associativity comes into the picture. Associativity of compound assignment operators is right to left, so the expression is evaluated as x += (y += 10).
Quiz of this Question
Please Login to comment...