c语言一道题目,求解,若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为

c语言一道题目,求解,若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为多少?求步骤,先算什么再算什么,求大神教导

从右往左依次计算
a-=a*a得到a=a-a*a=6-6*6=-30
a+=a得到a=a+a=-60
所以最后a的值为-60追问

为什么要从右向左算,不能从左向右呢?

追答

这就是计算机的计算规则,在计算机中不会从左往右计算

追问

哦哦,原来如此,谢谢啦

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-02
先a*a。。比如a等于1追答

那就是1*1=1

然后a=a-1

c语言一道题目,求解,若a是int型变量,且a的初值为6,则执行表达式a+=a-=...
a-=a*a得到a=a-a*a=6-6*6=-30 a+=a得到a=a+a=-60 所以最后a的值为-60

a是int型变量,而且a的初值为6则计算表达式a+=a-=a*a后a的值为
先计算a-=a*a=6*6=36 a=6-36=-30 然后 a+=a=-30 a=-30 + -30=-60

若a是int型变量,且a的初值为6,则执行下面表达式后a的值为【 】。 a+...
-= 、+=、=是从右往左结合的,故式子等价于 a = a - a*a; a = a + a;即-60

一、 填空题 1、.若a是int型变量,且a的初值为6,则计算表达式a+=a-=...
-60 从右往左算 第一步,a的初值为6,a=a-a*a=-30 第二步,a被赋值为-30,a=a+a=-60 所以,表达式计算后,a的值为=60

若a是int型变量,且a的初值为6,则执行下面表达式后a的值为 。 a+=a...
从右到左开始运算。首先a-=a*a a*a=36 a-=a*a 就是 a= 6-36=-30 然后再 a+=a 就是 a=-30 + -30 =-60

若a是int型变量、且a的初值为6,则执行下面表达式后,a的值为【 】。a+...
-60 从右往左算 a*a=36 a-=36即a=a-36所以算好后a=-30;最后算a+=-30即a=a+(-30)所以a=-60

若a是int型变量,且a的初值为6,则计算下面的表达式后a的值为( )(填阿 ...
a*=a-=a??a-=a就是 a=a-a=0 a*=0 也就是 a=a*0 =0*0 =0 所以,最后结果为0.

若a是int型变量,且a的初值为5,则计算a+=a-=a*a,表达式后a的值为:
a=-40 因为+=和-=优先级一样,结合方向为右到左,所以a+=a-=a*a等价于a+=(a-=(a*a))即 a=a-a*a=5-5*5=-20 a=a+a=-20-20=-40

...数据,且其值为3,则执行完表达式a+=a-=a*a后,a的值是?请通过程序验证...
a=-12。 按照从左至右结合性和优先级顺序,先计算a-=a*a,最后a结果为a=a-a*a,a=3-3*3=-6; 再计算a+=-6,因为此时a的值已经变成了-6,所以计算过程是a=a+(-6)=-6-6=-12。 或: a+=a-=a*a; 复合赋值表达式,从右到左运行,可以分拆成: a-=a*a; a+=a; a的原值为3 a-=a*a; ...

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a
因为赋值运算符是运算顺序从右到左 首先执行a-=a*a 此时进行a=3-3*3 得到a=-6 在执行a+=a 可以得到a=-12

相似回答