Open In App

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 comment below if you find anything wrong in the above post

Article Tags :