若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是

若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是
  A)a=(b=4)=3; B)a=b=c+1;
C)a=(b=4)+c; D)a=1+(b=c=4);

求详解

1楼正确。
赋值语句的对象只能是变量,而不是表达式。若换成a=b=3,就对了。
对于B,最后的值:a=2,b=2,c=1
对于C,整个语句是个赋值语句,里面又嵌套了个b=4的赋值语句,所以,最后的结果是a=5,b=4,c=1
对于D,解法同C,a=5,b=4,c=4.
所以A 是错误滴。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
错误的是A
赋值只能赋给变量,不能赋给表达式本回答被提问者采纳
第2个回答  2017-12-04
A错了,不能将3赋值给表达式,b=4已经是个表达式了,既然是表达式就只有真假(即0和1),
相似回答