大学生问题多啊 怎么感觉迷糊??

a=b+3=10 //为什么错误
(a=b+3)=10 //为什么正确

一般表达式都是从右往左进行的
a=b+3=10 拆解后就是

x0 = 3 = 10
x1 = b + x0
x2 = a = x1

#也就是说 类似于
a = b + (3 = 10) 

3 = 10 这显然是不成立的

(a=b+3)=10 就不一样了,同样也是从右往左,但是要先运行括号内的

# 第一次拆解
x0 = (a = b + 3)
x2 = x1 = 10
# 第二次拆解
x0 = b + 3
a = x0
a = 10

=左边需要一个能赋值的变量,

首先,你需要复习运算优先级的概念,赋值运算优先级最低
所以
a=b+3=10 //为什么错误
等价于
b+3=10
a=b+3
显然将10赋值给b+3是不正确的
-=-=-=

(a=b+3)=10 //为什么正确
因为有括号,等价于
a=b+3
a=10