在c ++中使用"else if"

Seg*_*ult 11 c++ if-statement

我有两个问题 - (I)

code-fragment-1

if(<condition-statement>){
}

else if(<condition-statement-2>){
    //statements-1
}
//statements-2
Run Code Online (Sandbox Code Playgroud)

代码片段-2-

if(<condition-statement>){
}

else{
    if(<condition-statement-2>){
        //statements-1
    }
    //statements-2
}
Run Code Online (Sandbox Code Playgroud)

以上两个代码片段是否相同?

(II)何时使用ifs(使用C++)?

Ada*_*her 13

唯一的区别在于示例1,无论您检查的条件如何,您的Statement2都将被执行.在示例2中,只有在if条件为false时才会执行Statement2 .除此之外,它们基本相同.


obe*_*be6 8

不,在第一种情况下,你执行else块只有在<condition-statement> 没有被证实 <condition-statement-2> 被验证.

在第二种情况下,如果未验证,<codition-statement>则执行else块.

在这种情况下是等效的,直到你没有任何//语句-2.

关于这个问题:什么时候使用else(使用c ++)?

基本上在具有此构造的所有其他语言的相同条件下使用. else被执行作为相关的替代if,else-if被执行作为替代但具有if待附加的'附加' ,否则不被执行.所以他们在逻辑上并不等同.