为什么运行出来的值不一样?是我理解错运算符了?(两个运算式不应该是等价的吗?)还是哪里写错了?
没啥问题啊,我跑着完全正常:
#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;
}