C语言~~基础 可以告诉我吗

img

a*=a 结果是25
然后为什么
a-(a*=a)的结果为0呢?
最后a+= a-(a*=a)的结果又为25呢

括号优先级最高,最先计算,执行完 a *= a 这个语句后,所有 a 的值都变成 25 了
然后计算 a - (a *= a) 这部分,也就是计算 a - a,那么25 - 25 就等于 0
最后计算 a += 0 ,也就是计算 25 += 0,结果就是 25

建议翻翻课本的附录,里面应该有关于运算符优先级的讲解