Jua*_*blo 24 c operators logical-operators
我读这段代码,并有这条线
 switch (!!up + !!left) {
什么是!!运营商?两个逻辑不?  
Arm*_*yan 38
是的,这是两个不值得的.
!!a是1如果a是非零和0,如果a是0 
您可以将其!!视为夹紧{0,1}.我个人觉得这种用法很难看起来很花哨.
你可以想象它是这样的:
!(!(a))
如果你一步一步地做,这是有道理的
result = !42;    //Result = 0
result = !(!42)  //Result = 1 because !0 = 1  
这将返回1任何数字(-42,4.2f等),但只有0,这将发生
result = !0;    //Result = 1
result = !(!0)  //result = 0