使用增强赋值的奇怪结果

时间:2014-04-23 14:00:52

标签: c augmented-assignment

我正在用C中的增强作业尝试各种各样的事情。但是,我无法理解这里发生了什么,以及为什么。这是一个示例代码:

int a = 3;
int b = 0;

a *= a = a *= a; // a = 27, b = 0

a = 3;
b = 0;
a *= b = a *= a; // a = 27, b = 9

a = 3;
b = 0;
b *= b = a *= a; // a = 9, b = 0 ???

为什么b在第三种情况下等于0?

0 个答案:

没有答案