if语句中的多个条件如何工作

时间:2019-02-25 05:16:48

标签: c

如果在单个if语句中使用了多个条件,则将对这些条件进行测试

a)从左到右
b)从右到左
c)随机
d)没有

2 个答案:

答案 0 :(得分:1)

if语句中不能真正包含“多个条件”。 if语句应仅具有一个条件。此条件可能是条件的组合,但在if语句看来,这只是一个条件。

这意味着,对于if语句中的条件的求值方式并没有什么特别的。它的评估方式与在其他任何地方执行的方式相同。

这归结为两个不同的概念:操作员关联性和短路。

关联性

逻辑运算符具有从左到右的关联性。这意味着cond1 && cond2在评估cond1之前将先评估cond2

短路

短路意味着cond1为假,则cond2将永远不会在表达式cond1 && cond2中求值。如果表达式cond1中的cond1 || cond2为true,则同样如此

答案 1 :(得分:-1)

if-else条件的评估从左至右。仅当第一个条件为“假”或“或”时,才对正确的条件进行评估。

if(false && condition) -> second condition doesn't get evaluated.
if(false || condition) -> second condition gets evaluated.

类似地,只有在“ and”的情况下第一个条件为“ true”时,才会评估正确的条件。

if(true && condition) -> second condition gets evaluated.
if(true || condition) -> second condition doesn't get evaluated.

希望能回答您的问题。