为什么运行出来的值不一样?是我理解错运算符了?(两个运算式不应该是等价的吗?)还是哪里写错了?

为什么运行出来的值不一样?是我理解错运算符了?(两个运算式不应该是等价的吗?)还是哪里写错了?

img

没啥问题啊,我跑着完全正常:

#include <stdio.h>

int main(int argc, char const *argv[])
{
   float a=1,b=2,c=3,d=4,e=5,f=6;
   printf("%f\n",a=b+=c++-d+--e/-f);
   printf("a:%f b:%f c:%f d:%f e:%f f:%f\n",a,b,c,d,e,f);
   a=1,b=2,c=3,d=4,e=5,f=6;
   printf("%f\n",a=b=b+c-d+(e-1)/-f);
   printf("a:%f b:%f c:%f d:%f e:%f f:%f",a,b,c,d,e,f);
   return 0;
}

img