c语言问题b的值

#include<stdio.h>
int main()
{
int b=5;
b-=b+=b*b;
printf("%d",b);
}为什么是0而不是25,请说说原理

这个地方是一样的

说一下a++与++a运算符区别,
a++,这个表达式的作用是先返回a的值,再将a++
而++a,这个表达式的作用是先将a++,在返回a的值,
也就是说

a=0;b=a++;执行这两句后,b=a的值(0),在将a++,即a的值为1,b的值为0
a=0;b=++a;执行这两句后,先将a++,再b=a的值(1),即a的值为1,b的值也为1
温馨提示:答案为网友推荐,仅供参考