楼主你好,
这里我先跟你说一下这个或是什么意思,或的意思就是,两个条件只要满足一个就为真。这个跟数学中的或是一样的意思。A||B,那么A为真的话,不管B是否为真,这个表达式就为真,
现在跟你说一下这个表达式
先看a=w>x,相当于a=(w>x),w>x显然为真,所以这个表达就为1,所以a=1,所以a=w>x就为真
中间用的是或,所以后面的表达式就不会执行,没有意义,因为这个表达式已经为真了。
不懂可以追问
这整句是一个判断。 左右里面又有判断。
w大于x 所以a等于一个正整数,值不一定,依据平台而定。
楼上正解 。因为存在 || 所以后面半句不会执行。所以b等于2 而不会等于0
选b
解释:
w>x不成立,所以a=0,那么&&运算符的左值(a=w>x)整体为false;
因为&&的短路效果,就是左值为false,则不计算右侧表达式;
所以b还是为最初赋值的6
综上:a=0,b=6
|| 就是短路或,即(a=w>x)非零的时候,编译器就不会执行|| 后面的内容,因为没必要判断后面的真假,就能去判断(a=w>x)||(b=y>z) 表达式的真假了。
a=1;b=0总的执行结果是1【简单的与或运算】