A)
a=3;
b=4;
a=a+a+b*a;
B)=左侧必须是变量,=是赋值运算,从右向左执行,所以行执行a*3=2,a*3不是变量,所以错误。
B选项中,从右向左运算,先算a*3= 2;这没法算当然错了。
A选项中,从右向左运算,a+=a+(b=4)*(a=3)先后过程是:
a = 3;
b = 4
a += b*a; (此时a = 15)
a += 15; (此时a = 30)
是的,左值必须是变了,指针那些。a*3不能作为左值,就和不能为数值分配地址空间一样的道理。
X1=X2=X3=....=Y
就是吧X1,X2....全赋值成Y
B)中 a*3不可以被赋值,所以是错的
A)中X=Y这种等式本身是有值的,就是Y
B项是正确的。错误的是C项,因为x为double型,而模运算符%两侧均应为整型数据。