why选A?语句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)

如题所述

a=(b=4)=3;这是赋值运算,从右至左结合,但是这里有括号b=4会被先执行,执行完后结果为false(零)这里没有问题,后面a的赋值就有问题了,到底是把0赋给a,还是将3赋给a呢?问题在这,你懂了吗?追问

嗯嗯,再请问D的意思是 bc赋值4 a赋值5吗?

追答

对,a赋值为5

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-22
a=(b=4)=3
先运算 b=4 结果为false 即 0
a=0=3
不是合法语句追问

为什么b=4会false呢?

追答

啊 错了
这是赋值语句
等价于
a=4=3 语法错误

追问

恩,懂了,谢了啊!