我有两个问题 - (I)
code-fragment-1
if(<condition-statement>){
}
else if(<condition-statement-2>){
//statements-1
}
//statements-2
代码片段-2
if(<condition-statement>){
}
else{
if(<condition-statement-2>){
//statements-1
}
//statements-2
}
以上两个代码片段是否相同?
(II)何时使用ifs(使用C ++)?
答案 0 :(得分:13)
唯一的区别在于示例1,无论您检查的条件如何,您的Statement2都将被执行。在示例2中,只有在if
条件为假时才会执行Statement2。除此之外,它们基本相同。
答案 1 :(得分:8)
不,在第一种情况下,只有在<condition-statement>
未经过验证时才执行else块而仅在 <condition-statement-2>
时执行已经过验证。
在第二种情况下,如果<codition-statement>
未经验证,则执行else块。
在这种情况下等效直到你没有任何//语句-2。
关于这个问题:什么时候使用else(使用c ++)?
基本上在具有此构造的所有其他语言的相同条件下使用。
执行else
作为相关if的替代,else-if
作为替代执行,但要附加'if
进行验证,否则不执行。
所以它们在逻辑上并不相同。
答案 2 :(得分:3)
if的语法确实如此 if(条件)陈述;
{}真正做的是允许您将多个语句组合在一起。在你的第二个例子中,你的{}中只有一个语句(if),所以是的,两个例子是相同的,除了//语句-2总是在!= true时运行
答案 3 :(得分:1)
在您的第一个代码示例中,无条件执行statement-2。在第二个是有条件的。不一样。
'否则,如果'通常是首选,因为你可以无限期地插入或追加更多,或者附加'其他',而另一种形式你必须无休止地用括号弄乱以获得相同的效果,你冒着改变语义的风险,就像你在第二个样本中所做的那样。