我有以下密码:
#include <stdio.h>
int main(int argc, char **argv) {
int i = 0;
(i+=10)+=10;
printf("i = %d\n", i);
return 0;
}
如果我尝试使用 gcc 将它编译为 C 源代码,我会得到一个错误:
error: lvalue required as left operand of assignment
但是如果我使用 g + + 把它编译成 C + + 源代码,我就不会得到错误,而且当我运行可执行文件时:
i = 20
为什么不同的行为?