C | Operators | Question 23
Predict the output of following program?
C
#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 comment below if you find anything wrong in the above post
Please Login to comment...