打印

新手关于else if 的请教

[复制链接]
2916|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zmmhmily|  楼主 | 2010-5-5 22:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
chen3bing| | 2010-5-6 08:05 | 只看该作者
如果表达式1和表达式2都不成立,就执行了。

使用特权

评论回复
板凳
yytdragon| | 2010-5-6 08:14 | 只看该作者
这问题。。。有点像:我知道1+1=2,但是2+1=?

使用特权

评论回复
地板
呆板书生| | 2010-5-6 08:47 | 只看该作者
else (表达式3)

应该是 else if (表达式3) 之误

使用特权

评论回复
5
john_light| | 2010-5-6 08:50 | 只看该作者
else不带表达式

使用特权

评论回复
6
ayb_ice| | 2010-5-6 08:50 | 只看该作者
1成立执行1
否则判断2,成立则执行2
1,2都不成立执行3
任何情况只执行其一

使用特权

评论回复
7
zmmhmily|  楼主 | 2010-5-6 09:49 | 只看该作者
谢谢ayb_ice, 说的比较清楚, 学习了

使用特权

评论回复
8
冷漠| | 2010-5-6 11:00 | 只看该作者
本帖最后由 冷漠 于 2010-5-6 14:47 编辑

最后一个仍然可以是带有判断语句的:
......

else if(表达式3)
{
  语句3;
}
(默认出口)

这是一个串行判断,并行出口结构,当任何if(表达式n)为真,执行语句n ,然后直接至“默认共同出口”(并行),——与后面其它所有else内容无关。否则串行判断下一条件。
正如带有  break;语句的switch/case 结构。

使用特权

评论回复
9
zmmhmily|  楼主 | 2010-5-6 12:41 | 只看该作者
谢谢大家

使用特权

评论回复
10
一棵小草| | 2010-5-6 13:45 | 只看该作者
确实,else不带表达式

建议楼主考虑能不能用switch

使用特权

评论回复
11
hgjinwei| | 2010-5-6 22:53 | 只看该作者
其实这就像在一幢楼里找一个东西,一楼没有就找二楼,二楼没有找三楼,依次找下去。最后找不到就else了。
if (一楼有)
{
      在一楼;
}
else if(二楼有)
{
      在二楼;
}
else if(三楼有)
{
      在三楼;
}
else if(四楼有)
{
      在四楼;
}
else
{
      找不到;
}

使用特权

评论回复
12
zmmhmily|  楼主 | 2010-5-7 08:48 | 只看该作者
hgjinwei这个比喻太帅啦

使用特权

评论回复
13
一棵小草| | 2010-5-7 20:02 | 只看该作者
这种多层分支的程序,最好改用swicth!

使用特权

评论回复
14
wangwo| | 2010-5-7 21:46 | 只看该作者
这么简单都···:L

使用特权

评论回复
15
救火车| | 2010-5-8 09:09 | 只看该作者
else if 结构我也经常用。
尤其是在复杂的错误处理的时候。
if (错误1) {goto end1;}
else (错误2) {goto end1;}
else (错误3) {goto end1;}
//处理正确的情况
end1:;

使用特权

评论回复
16
冷漠| | 2010-5-8 20:16 | 只看该作者
本帖最后由 冷漠 于 2010-5-8 20:17 编辑

救火车的结构能不能这样写:
if  (错误1) { }
else if (错误2) { }
else if (错误3) { }
else {处理正确的情况}
end1:   ;

应该效果一样。再进一步:
else if ( 错误2 );
else if ( 错误3 );
else { 处理正确的情况 }
end1:   ;

一样吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

205

主题

698

帖子

0

粉丝