我有两个问题- (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)何时使用else ifs (在C++中)?
发布于 2012-10-06 15:19:20
唯一的区别是在示例1中,无论您检查什么条件,您的Statement2都将被执行。在示例2中,只有当if条件为false时,才会执行Statement2。除此之外,它们基本上是相同的。
发布于 2012-10-06 15:19:30
不,在第一种情况下,仅当<condition-statement>未被验证且仅当<condition-statement-2>被验证时才执行else块。
在第二种情况下,如果<codition-statement>未经过验证,则简单地执行else块。
在这种情况下是等价的,直到您没有任何//语句-2。
关于这个问题:何时使用else if (在c++中)?
在与具有此结构的所有其他语言基本相同的条件下使用。else作为相关if的替代方案执行,else-if作为替代方案执行,但带有要验证的“附加”if,否则不执行。所以它们在逻辑上是不等价的。
发布于 2012-10-06 15:20:59
if的语法实际上是
if(condition) statement;{}真正做的是允许您将多个语句组合在一起。在第二个示例中,在{}中只有一条语句( if),所以是的,两个示例都是相同的,除了//语句总是在!=true时运行
https://stackoverflow.com/questions/12757653
复制相似问题