关于C语言的,不明白为什么会输出这些数? 望解答

2024-11-30 23:10:42
推荐回答(5个)
回答1:

首先 c = a + (b = 2)这句中,b变为2,c变为a+2也就是6。
a+=a-=a*a 这句的运算顺序是:

1. a*a ,也就是16,这个时候没有赋值,a不变。
2. a-=16,a变为-12。这个赋值运算返回的结果也就是-12。
3. a+=(-12),注意,这里a已经变成了-12,所以结果是-24并且被赋值给a。

回答2:

运算顺序 a=4→b=2→c=a+b=6→a+=a-=a*a=-24(意思是从右往左 a先等于a-a*a 即a=4-4*4=-12 然后a=a+a 即a=-12+(-12)=-24)→输出 a b c
a+=b意思是a=a+b a-=b意思是a=a-b a*=b意思是a=a*b
这是一种写法而已

回答3:

b,c就不解释了,解释下a

  1. C 语言等号运算是从右到左的顺序

  2. a+=a-=a*a  先看右边部分 a-=a*a 等价于 a=a-a*a 

  3. 带入a=4 ,计算得出 a = -12

  4. 现在看左边部分,即 a+=-12 即 a=a+(-12)

  5. 带入a=-12,得出结果 a=-24

回答4:

c=a+(b=2);
先算b=2;
c=a+2;由于a=4,所以c=6

a+=a-=a*a
等号运算 从右到左运算
先算a*a = 16 , a=4
a-=16;a=4
a = -12;
a+=-12 ;
a = -24

回答5:

变态的应试教育催生的变态的题目。外加变态的谭老师。。。