C语言 main() { int a=9; a+=a-=a+a; printf(“%d\n”,a); }得多少?为什么?
C语言 main() { int a=9; a+=a-=a+a; printf(“%d\n”,a); }得多少?为什么?
日期:2019-09-19 18:24:36 人气:1
1、C语言 main() { int a=9; a+=a-=a+a; printf(“%d\n”,a); }最后结果就是-18;
2、赋值语句,从右到左依次运行:那么:int a=9;a+=a-=a+a;
3、相当于:a-=a+a;a+=a;然后相当于:a=a-(a+a);a=a+a;
4、由于a初始化为9:a=a-(a+a)=-a=-9;a=a+a=-9+(-9)==-18;所以最后结果就是-18。
5、a+=(a-=a+a) 首先计算a-=a+a,因为赋值运算符的优先级小于算术运算符故先算a+