课程
/后端开发
/C
/C语言入门
复合赋值运算,其中a=3,求a+=a-=a*a的值是多少
2017-11-24
源自:C语言入门 2-9
正在回答
//赋值运算从右向左执行
/**
*
* a*a = 9;
* a-=a*a;
* a-=9;
* a+=a-
* a-=9
* a = a-9 结果为-6
* 所以得 a+ = -6
* a = a + (-6);
* 结果得 a=-3
*/
话不多说
上图
从右往左计算并附值
第一步:a-a*a=a=-6
第二步:a+a=a=-12
a+=a == a=a+a
a-=b == a=a-b
从左至右计算,从右至左附值
我编译运行是-12呀
复合运算符左边必须是变量,右边的表达式计算完成后才参与复合赋值运算。语言运算符的优先级,结合
方向为从右到左.所以答案为12
也许-3吧。
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
3 回答int a = 3; b = 4;计算a+b%a-b/a+a*b-a++该算式的运算结果以及运算后a的值如果题目改成int a = 3; b = 4;计算a+b%a-b/a+a*b-(++a)答案是多少啊?
2 回答int a = 3; b = 4;计算a+b%a-b/a+a*b-a++该算式的运算结果以及运算后a的值
2 回答a+++a+++a++算出来为多少?