C语言选择题~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/20 09:04:24
若a=2,则a+=a*=a+2的值为____。[请讲述原因]
A.4
B.8
C.16
D.32

选C
+=,*=的优先级相等,右结合,+优先级高于*=
所以式子等价于a+=(a*=(a+2))
先做2*(2+2),a变为8,再做8+8,a变为16

D
右结合,从右往左算
a=a+2 a=2+2=4
a=a*a a=4*4=16
a=a+a a=16+16=32

是选C,楼上说得有道理
从右向左算
a=a*(a+2)=2*(2+2)=8
a=a+a=8+8=16