要看c的初值为多少,设c=1则,
a=2;
b=2;
c=1; //因为前面的结果为“真”,所以,c++没有运算,这是短路规则造成的,即A||B,如果A为真,就不会执行B
表达式:a++ 为1 ++b为2
设c=0,则
a=1
b=1
c=1 //因为此时,没有不适合短路规则, a++为0,++b为1,所以前面的&&为0,因此要计算c++,所以c=1
a=b=c; /* c的值赋给b,此时b==c; b的值又赋给a,此时 a == b ==c ;*/
a++&&++b||c++; /* a++的布尔值为true,执行++b,&&表达式布尔值为true,不执行c++; 结果a,b都加了1,而c不加。 */
/* a == b == (c+1) */
去看优先级别 对着找