This behavior is undefined because vairable b was modified and then used in a single expression, so the final result is ambiguous because it depends on the order of the evalution expression.
(b=a)may occur before or after b vairable used for calcualte a+b.
source
share