答案是0a=b==c这个表达式是从右向左运算的,也就相当于a=(b==c)而b==c这个判断表达式显然是不成立的,所以有一个返回值为0。即,a=0;printf("%d\n",a=b==c);就相当于a=b==c;printf("%d\n",a);明白了么? 至于2楼说的优先级的问题,显然是错误的,你可以把a打印出来,结果也为0,按他说的就为2了
答案是0,输出时候运算顺序是从右向左的,算完了在把值输出,b==c的值是0,a=0,然后输出a
0