#include
using namespace std;
int main()
{
int x,y,z,w;
x=y=z=1; //x=1,y=1,z=1;
w=++x||++y&&++z;//x=2,因为++x之后x=2;++x整个表达式也为2>0,所以||后的运算就停止了w= 1;y=1;z=1;
///或运算遇到大于等于0就返回1.不再向后计算。
cout<<"w="<
return 0;
}
结果:w=1.x=2.y=1,z=1
x=y=z=1
++x,所以x=2,又因为||运算符的规则是左边为真,右边就不需要算了,所以y=1不变
++z,所以z=2
所以得x=2,y=1,z=2
x=1 y=1 z=1 w=3
前方提 x=y=z=1
w=++x||++y&&++z
w=x+y+z int
即为x=1 y=1&& z=1 w=3
懂了?