# include <stdio.h>main (){ int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a); printf ("%d,%d,%d\n",k,m,n);}编译后输出的值是1,0我不明白为什么M得值是0 (m=a)那里不是已经把a的值赋给m了么?如果说判断中不算的话,为什么n的值是1?
参考资料:谭浩强《C语言程序设计》