昨天我参加了面试,得到了以下测试问题:
这个逻辑的输出是什么:
if(TRUE && FALSE AND TRUE OR 1 || TRUE && ((TRUE || FALSE) || FALSE)) {
PRINT "A";
}
else print "B";
我必须在头脑中评估结果,这是我无法做到的。
你会怎么做?
答案 0 :(得分:3)
表达式位于任何括号外的中间:OR 1 ||
。左右表达式的评估方式无关紧要,最后它们与OR TRUE
结合使用,结果始终为TRUE
。
打印值为A
。
答案 1 :(得分:0)
结果将打印A
。
它会进入if
<强>解释强>
TRUE&amp;&amp; FALSE和TRUE或1 ||真实&amp;&amp; ((TRUE || FALSE)|| FALSE)
TRUE&amp;&amp; FALSE - &gt; FALSE - &gt;让我知道错误(1)
FALSE(1)AND TRUE - &gt; FALSE - &gt;让我们知道错误(2)
FALSE(2)OR 1 - &gt; TRUE - &gt;得名是真的(3)
------现在第二部分------------
TRUE - &gt;是的(4)
((TRUE || FALSE) - &gt; TRUE(5)
TRUE(5)|| FALSE - &gt;是的(6)
现在
结合两个表达式:
TRUE(3)|| TRUE(6)是TRUE
答案 2 :(得分:0)
看看OR 1
因为这是......所以我们把它称为顶级,它将是真实的或其他任何东西......这导致“真实”;)