首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if、else和else if的用法

if、else和else if的用法
EN

Stack Overflow用户
提问于 2011-09-19 06:35:21
回答 7查看 615关注 0票数 3

它们之间的区别是什么:

代码语言:javascript
复制
if      (expr1) {stmt}
else if (expr2) {stmt}
else if (expr3) {stmt}    
else            {stmt}

和相同的代码块,写成:

代码语言:javascript
复制
if (expr1) {stmt}
if (expr2) {stmt}
if (expr3) {stmt}    
else       {stmt}
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-09-19 06:37:56

在第一个语句中,每个语句块都是互斥的;该结构保证只执行其中的一个语句。

第二个就不是这样了。考虑一下:

代码语言:javascript
复制
if (a == 2) { /* blah */ }
if (a == 3) { /* blah */ }
if (a < 5)  { /* blah */ }

如果为a == 2,则将执行两个块的。

票数 10
EN

Stack Overflow用户

发布于 2011-09-19 06:43:23

这里有另一个很好的例子来看看它是如何工作的。

此示例将打印"FirstSecond":

代码语言:javascript
复制
if(1) {
    printf("First");
}
if(1) {
    print("Second");
}

这只是打印"First":

代码语言:javascript
复制
if(1) {
    printf("First");
}
else if(1) {
    print("Second");
}
票数 1
EN

Stack Overflow用户

发布于 2011-09-19 06:38:45

在您的第一个代码中,最多只能执行一个块。

在第二段代码中,所有的块都可以执行。(除了最后一件事。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7464906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档