c语言中条件语句问题求解


#include 
 int main()
 {
 int a =1;
 if(a--)
 printf("True");
 if(a++)
 printf("False");
 return 0;
 }

为什么最后的结果是True呢?
不是很明白a--、a++的条件要如何判断

a--先取值后--,所以取到的值是1啊
如果改成--a那么就是0了
需要注意的是,a++,a--这些操作中,++是比赋值运算优先级还要低的,所以会先执行赋值再执行++
比如b=(a++)+(a++)+(a++)中,要先执行b=a+a+a,再执行3次a++,而不是每个括号都加一次