a=0;b=1
c=a&&(b=3)
最终c=0; b=1
因为从左至右进行时,若遇到运算符左边的操作数是 0(逻辑假),则停止运算。
a=1;b=1;c=0;
d=a||b||(c=b+3);
最终d=1;c=0;
因为从左至右进行时,若遇到运算符左边的操作数是 1(逻辑真),则停止运算。
记住!短路原则是 与(&&) 或(||) 才有。
x=1;y=1;c=0;
c=x++||y++;说明++的优先级高于||高于赋值运算符
printf("%d%d%d ",x,y,c);
x=2;y=1;c=1