sum+=i++为什么是sum=sum+i;后进行i++;而不是先进行i++

sum+=i++为什么是sum=sum+i;后进行i++;而不是先进行i++
运算符的优先级中不是++要高于+=吗,我刚学C语言
就是说为什么不是
i++;
sum=sum+i;

i++:先使用i,再进行加1;
++i:先进行加1,再使用i;这是C/C++语言规定的

确实是先执行i++,但是i++与++i是有区别的:

int i =0;
int a = i++;  // a = 0, 先赋值,后自增
i = 0;
int b = ++i;   // b = 1, 先自增,后赋值

这就是区别,当需要将i++或++i赋值给变量时,他们的赋值、自增顺序是有区别的。sum += i++中虽然是先计算i++,但是计算时的值是i,随后才会再自增。