多分支块if 语句与多个单行if语句的区别

2024-12-19 07:29:40
推荐回答(2个)
回答1:

多分支块if 语句:
if(a){xxx}
else if(b){yyy}
else ...
这样的话,加入a为真,执行完xxx之后会跳出if判断,也就是跳过else if和else。(不会判断b)
只有a为假时,才会判断b。
多个单行if语句:
if(a){xxx}
if(b){yyy}
if(c){zzz}
这样会判断三次,a为真,执行xxx,否则判断b,b为真,执行yyy,否则判断c,c为真,执行zzz
他们的逻辑是不一样的,不同情况下会产生不同的作用。
这么说,能明白区别了么?

回答2:

if(A) {if(B) {}} 是两次真值判断
if(A && B) {} 则是一次逻辑与运算和一次真值判断
一般使用后者, 代码简洁且逻辑明确, 效率上应该不会有太大区别, 而且印象中大多编译器会有此类优化