即使第一个条件为假,是否在if语句中检查所有条件?

时间:2015-05-03 01:14:16

标签: logic short-circuiting

如果我有:

bool foo = false; bool bar = true;

如果(foo&& bar)

Doe语句检查条形是否为真或是否跳过它因为foo已经为假?

1 个答案:

答案 0 :(得分:0)

您所指的是short-circuit evaluation,它是否会发生取决于:

  • 您正在编程的语言
  • 在某些情况下,实施(语言定义既不强制也不禁止)
  • 在某些情况下,确切的情况(语言明确允许但不保证,并且实现可以选择是否根据具体情况进行短路)
  • 您使用的确切操作员(某些语言提供两种写作方式"和#34;一个"渴望"一个"短路"

请注意,它不是if语句的属性,它只是使用一个布尔表达式,这是因为您使用了逻辑运算符;表达式同样可以分配给一个布尔变量,作为函数参数传递,等等。