【发布时间】:2012-09-01 03:22:56
【问题描述】:
C 标准(最好是 C89,90)是怎么说的:
int a,b;
a = 4;
b = (a += 1);
?
我已经测试过了,结果是b=5,这是我所期望的。我只是想对标准感到放心。这同样适用于*=、/=、&= 等类似的运算符。我知道= 肯定会在赋值后返回左侧的值。我只是想知道+=、*=等是否按照标准表现相同。
【问题讨论】:
-
返回哪一边都没关系。它们是一样的。
-
在 C++ 中,对于非 POD 类型,它会调用赋值运算符。一切顺利。
-
@Mysticial 取决于您在
a+=1中右侧的意思。另外,我想要 C,而不是 C++。而且我不知道 POD 是什么...
标签: c