A和B都正确
赋值表达式形式:变量=表达式
1.计算赋值运算符右侧表达式的值。(“=”为赋值运算符)
2.将赋值运算符右侧表达式的值赋给左侧的变量。
3.将赋值运算符左侧的变量的值作为表达式的值。
A不用说了吧,对照定义即可
B的话 右边(9+e,f=d+9)是逗号表达式,并将表达式的值赋给d,所以也是正确的
C是逗号表达式,不是赋值表达式
D中第二个“=”左边(9+e++)不是合法的变量
A d=9+c+f 正确很正常的表达式。
B d=(9+e,f=d+9) 正确结果是d=f=d+9,这里:9+e,f=d+9 逗号表达式,f=d+9;d=f ,f=d+9是赋值表达式
C d=9+e,e++,d+9 正确 9+e,e++,d+9是逗号表达式,结果是 d=d+9 ;e=e+1
D:d=9+e++=d+7 第二个赋值号有问题,9+e++ 不是左值,不可以赋值=优先级比较低