s+=a++,先执行s=s+a,然后再令a++,所以s=5;
sa++同理,因为if语句里的a是局部变量,退出if语句,里面定义的a就不存在了,所以a=5(在开头定义的全局变量 int a=5),所以s=a++=5*5=25
s+=a++要先算s=s+a之后再算a++,所以s+=a++中s的值为5;同理s*=a++也是一样的算法,所以答案是25
s=5 a=5 所以 最后 是25=5*5
a++优先级比*高,先加1
if(a>0){}里面定义了int a=3,这个a只在当前花括号内生效,因此s+=a++,a是先参与加法,然后++,参与加法时a数值为3,所以s=s+a=2+3=5;
s*=a++,这个a是属于全局变量a,a同样是先参与乘法,然后++,参与乘法时a数值为5,s=sa=55=25。
明白两点就知道为啥是25了。