关于C语言优先级

来源:百度知道 编辑:UC知道 时间:2024/06/27 18:57:59
int a=1,b=4
求表达式
b+=a+=a*=a执行后求b的值

答案为6

这样理解:C 语言中的赋值运算符是按照从右边往左边的顺序的。
a*=a 即 a=a*a ,此时a的值是1

a+=a 即 a=a+a ,此时a的值是2

b+=a 即 b=b+a ,此时a的值是6

C语言好象应该是从右往左算.

答案 是 6 哦

x+=y 按照 x=x+y 这样算 就不会错了
- * / 同样

一般从右至左,原式=
b+=a+=(a=(a*a))
=b+=(a+=1)
=b+=2
=>b=6

b=b+(a=a+(a=a*a))
=b+(a=a+(1*1))
=b+(a=1+1)
=b+2
=6

这个是从右到左
还有单目运算符的都是从右到左
还有? :也是哈