C语言 main() { int a=9; a+=a-=a+a; printf(“%d\n”,a); }得多少?为什么?

日期:2019-09-19 18:24:36 人气:1

C语言 main() { int a=9; a+=a-=a+a; printf(“%d\n”,a); }得多少?为什么?

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+
    A+
热门评论