设有如下的变量定义: int i =8,k ,a,b ; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是:(A)a+=a-=(b=4)*(a=3) (B)x%(-3); (C)a=a*3=2 (D)y=float(i)答案是A,我也理解A为什么是对的,B和C为什么是错的,但是实在不理解D错在哪里,网上的很多解释看得真心蛋疼,跪求大神帮忙