多个if语句和一个多条件之间的处理时间是否有差异?

时间:2016-05-27 07:41:13

标签: time

我更喜欢避免嵌套,但我想知道这两者之间是否存在时差:

if(a && b)
{
    ...
}

if(a)
{
    if(b)
    {
        ...
    }
}

2 个答案:

答案 0 :(得分:1)

他们完全相同。

但是,这取决于您的编译器,您还没有提到您将使用的语言。

但是大多数编译器会将这两个代码解释为相同的东西

java的例子 Should if(a&&b) take more time than if(a) if(b)?

c ++的例子 Nested if statements and "&&" operator

答案 1 :(得分:0)

它是一样的。

atrue(a && b && c && ...)后,b进行测试,然后c等等 - 逐个进行,直到链中的某个表达式结果为止false。发生后,将跳过所有后续表达式。据我所知,它在所有类C语言中的工作方式相同。

如果您使用&&运算符而不是嵌套许多if块,您的代码将更具可读性。