B和D为什么是错误的不用解释吧,=是赋值符,表示将右边表达式的值赋值给左边的变量,之前肯定是不能出现表达式的。%运算符是除法取余数运算,只有整形才能用,18.5不是整形。+=是复合运算符,a += 7 即a = a+7,c编译器从右向左编译,先计算a+7的值,然后存入a所在的地址(从新赋值a).因此A正确。
a
A)