| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1745 人关注过本帖
标题:关于else if连用的一点问题
只看楼主 加入收藏
a825395336
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-8-4
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:9 
关于else if连用的一点问题
else if(state==OUT){state=IN;++nw} 在程序的最后 为什么else还要连if 书里好像说if控制了包含在花括号内2条语句 怎么理解,不吝赐教
2012-08-06 17:34
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:5 
1. if(条件1) {语句1} else(条件2){语句2}; 不满足条件1的情况下执行语句2.

2. if(条件1) {语句1} else if(条件2){语句2}; 不满足条件1并且满足条件2的情况下执行语句2.

不知道你是不是困惑于此,至于控制,你都加了大括号了,随便里面填多少语句都行啊。
2012-08-06 17:44
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
回复 楼主 a825395336
因为else后面的情况并不是一种,所以加if

if (a>b){printf("a>b");}
else if (a<b){printf("a<b");}
//还有一种情况a==b,对它不处理

★★★★★为人民服务★★★★★
2012-08-06 18:45
a745043791
Rank: 4
等 级:业余侠客
帖 子:95
专家分:260
注 册:2012-2-12
收藏
得分:5 
if……else……语句是分支语句,把情况分为2种,一种情况对应一个分支。
但有时候情况不止2种,有多种情况,1个if和1个else就不够了,于是就诞生了一种新的语法:
if(……)
……;
else if(……)
……;
else
……;
上面那个例子有3个分支,但也可以不止3种。但不论多少个分支,第一个总是if,最后一个可以是else,也可以是else if。中间的都是else if。记住,这是一个规定的语法,没有为什么。如果你硬要问为什么,那就去问c的创始人。
你的第二个问题:为什么说if控制了包含在花括号内2条语句。是因为c规定if()后面如果没有{},那么if控制的就是它后面的一个语句,记住,只是它后面那个;如果if()后面有{},那么if就控制{}内的所有语句,记住是所有。还是那句话,这是语法,没有为什么。
2012-08-06 19:08
hawksabre
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-8-3
收藏
得分:0 
if ---else if
2012-08-06 21:05
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:0 
if …else if …else if…
2012-08-06 21:38
a825395336
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-8-4
收藏
得分:0 
回复 2楼 demonleer
是不是就是说if后面的大括号2个语句同时执行
2012-08-08 13:38
a825395336
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-8-4
收藏
得分:0 
回复 4楼 a745043791
了解,谢了
2012-08-08 13:39
a745043791
Rank: 4
等 级:业余侠客
帖 子:95
专家分:260
注 册:2012-2-12
收藏
得分:0 
回复 7楼 a825395336
顺序执行
2012-08-08 14:26
自娱自乐
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2012-8-8
收藏
得分:0 
C语言不是VHDL,不是并行结构,面向过程的顺序执行
2012-08-08 16:14
快速回复:关于else if连用的一点问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015864 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved