我更喜欢避免嵌套,但我想知道这两者之间是否存在时差:
if(a && b)
{
...
}
或
if(a)
{
if(b)
{
...
}
}
答案 0 :(得分:1)
他们完全相同。
但是,这取决于您的编译器,您还没有提到您将使用的语言。
但是大多数编译器会将这两个代码解释为相同的东西
答案 1 :(得分:0)
它是一样的。
a
在true
中(a && b && c && ...)
后,b
进行测试,然后c
等等 - 逐个进行,直到链中的某个表达式结果为止false
。发生后,将跳过所有后续表达式。据我所知,它在所有类C语言中的工作方式相同。
如果您使用&&
运算符而不是嵌套许多if
块,您的代码将更具可读性。