儿童防走失带:c语言问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 21:13:33
x为整型变量,则执行下列语句x=6;x+=x-=x*x;后,x的值
解释一下 应该怎么算
为什么从右往左算啊 ?

-60
先计算x*x(此时X=6)得到36
然后计算X-=36即X=6-36=-30
再计算X+=-30即X=X-30=-30-30=-60
"+=","-="都属于赋值运算符,所有赋值运算符的结合方向都是自右向左。(我们最熟悉的“=”也是赋值运算符,我们知道;要先算出“=”右边表达式的值,然后再将算出的值赋给运算符左边的变量,这是一样的道理)

解释同上。
至于为什么要从右往左算,是因为=号的结合性是右结合,所以,在多个=号同时出现的时候,从右往左算。(所谓的结合性只有在相同优先级的操作符出现的时候才能体现,并且,相同优先级的操作符结合性总是相同的,不信你看看书对比一下)

首先是 x*x=36; x-=x*x(等价于x=x-x*x=6-36=-30);最后x+=x(等价x=x+x=-30+(-30)=-60;)