这两个语句之间有什么区别。当我交替使用它们时,会得到不同的结果。我希望有人可以帮我解释一下。那么这之间有什么区别...

else if ( ( elecshow ==2,3,4,5,6,8,9,10,16 ) )


和这个...

else if ( ( elecshow ==2 ) || ( elecshow ==3 ) || ( elecshow ==4 ) || ( elecshow ==5 ) || ( elecshow ==6 ) || ( elecshow ==8 ) || ( elecshow ==9 ) || ( elecshow ==10 ) || ( elecshow ==16 ) )


我知道这很简单,但是您的投入将不胜感激。

最佳答案

comma operator


  计算每个操作数(从左到右)并返回最后一个操作数的值


结合==,具有higher precedence的事实,这里发生的事情是对elecshow ==2进行评估,然后对3,对4,...最后对16进行评估。

返回最后的求值,并且16是真实值,执行将输入else if

结果与

else if ( ( elecshow ==2 ) || ( elecshow ==3 ) || ( elecshow ==4 ) || ( elecshow ==5 ) || ( elecshow ==6 ) || ( elecshow ==8 ) || ( elecshow ==9 ) || ( elecshow ==10 ) || ( elecshow ==16 ) )


仅仅是因为它是完全不同的运算符!

08-08 03:29