#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 ;
}
看你编译器的情况吧,有可能从右到左计算
这个问题不要去纠结,不同的编译器不同的结果,去试了下:
c++builder :3,1,0,0
VS2019 :3,3,0,0
VC++ : 3,1,0,0