这两个语句之间有什么区别。当我交替使用它们时,会得到不同的结果。我希望有人可以帮我解释一下。那么这之间有什么区别...
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 ) )
仅仅是因为它是完全不同的运算符!