x=(a=1)||(b=2)&&(c=3)&&(d=4);
关键是对这个语句的理解,首先这是个赋值语句,将逻辑表达式(a=1)||(b=2)&&(c=3)&&(d=4)的值赋值给x 。
然后就是对逻辑运算优先级的理解了,对于||逻辑运算符,表示“或”,如果左侧为假,则执行右侧表达式,如果左侧为真,则不再执行右侧的表达式,结果为真。
例子:a=0;
b=1||(a=1);
输出结果就是a=0,b=1 。不知道你能理解不能:)
x=(a=1)||(b=2)&&(c=3)&&(d=4);
其中||是逻辑运算符
a=1
把1赋值给a
a为1
故(a=1)值为真
(a=1)||(b=2)&&(c=3)&&(d=4)表达式运算结束
结果为1
把=换成==
=是赋值,==才是判断相等
给你个技巧,以后再遇到判断a == 1的时候写成1 == a,这样即达成了判断的效果,也避免了写成a = 1的错误,因为1 = a会被编译报错。