用Dev-C++运行以下代码,结果错误
#include<stdio.h>
int main()
{
int a=1,b=2,c=3;
printf("%d,%d,%d,%d\n",a=b=c,a=b==c,a==(b=c),a==(b==c));
return 0;
}
分开写是正确的,合在一起计算式并不是从左往右依次计算的
printf("(%d,%d,%d),%d,(%d,%d,%d),%d,(%d,%d,%d),%d,(%d,%d,%d),%d,(%d,%d,%d)\n",a,b,c,(a=b=c),a,b,c,(a=b==c),a,b,c,a==(b=c),a,b,c,(a==(b==c)),a,b,c);
输出结果为(3,3,3),3,(3,3,3),3,(3,3,3),0,(3,3,3),0,(3,3,3)
正常输出是啥