一个关于if else if的问题

toptext 2009-06-22 08:17:04
关于下列语句那种写法比较好!说说理由,无论是效率(编译器优化后应该是一样的)还是可读性都可以!这个问题想了好久没有想明白!
1:
if(条件一)
{

}
else if(条件二)
{

}

2:
if(条件一)
{

}
else
{
if(条件二)
{
}
}


有时候看到 几个连续的else if 后边没有else会感觉很怪!
...全文
59 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
toptext 2009-06-29
  • 打赏
  • 举报
回复
谢谢各位了! 小弟刚注册,没什么高分可给的! 实在惭愧!
pppsinwswd 2009-06-23
  • 打赏
  • 举报
回复
第一种是标准写法!
lixing01 2009-06-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 toptext 的帖子:]
关于下列语句那种写法比较好!说说理由,无论是效率(编译器优化后应该是一样的)还是可读性都可以!这个问题想了好久没有想明白!
1:
if(条件一)
{

}
else if(条件二)
{

}

2:
if(条件一)
{

}
else
{
if(条件二)
{
}
}


有时候看到 几个连续的else if 后边没有else会感觉很怪!
[/Quote]

习惯于第一种,适用的场景:满足条件1则执行1,满足条件2执行2。。。
第二种和第一种有个区别:
1:
if(条件一)
{

}
else if(条件二)
{

}
std::cout << "helleo";

2:
if(条件一)
{

}
else
{
if(条件二)
{
}
std::cout << "helleo";
}

对加入的语句处理的逻辑是不一样的
zhgfzhgf212 2009-06-23
  • 打赏
  • 举报
回复
1的效率叫比2高,因为2 中else里面嵌套了一个if
yangyunzhao 2009-06-23
  • 打赏
  • 举报
回复
现代的计算机根本在乎你的两种写法。
时间开销,在这种地方完全可以忽略。(指特点场合中)

但是非常明显的区别就是:第一种写法的可读性远高于第二种,特别是在语句很多的时候。
软件开发流程最大的花费应该是在维护阶段吧?
yuandongfg 2009-06-23
  • 打赏
  • 举报
回复
1的效率叫比2高,因为2 中else里面嵌套了一个if
elpase 2009-06-23
  • 打赏
  • 举报
回复
[Code C/C++]
1:
if(条件一)
{

}
else if(条件二)
{

}

2:
if(条件一)
{

}
else
{
if(条件二)
{
}
}
[/Code]

不能一概而论就指出谁不好.要看上下文的需要
kkndciapp 2009-06-22
  • 打赏
  • 举报
回复
不同情况下有不同的考虑,不能说其中一种更好
飞天御剑流 2009-06-22
  • 打赏
  • 举报
回复
这问题没有谁绝对比另一个好的答案,得看情况,不同情况适用不同的if。
yang_e_2009 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Walf_ghoul 的回复:]
感觉第一中可读性好一点
[/Quote]
up~
blackee 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Walf_ghoul 的回复:]
感觉第一中可读性好一点
[/Quote]同意
Walf_ghoul 2009-06-22
  • 打赏
  • 举报
回复
感觉第一中可读性好一点

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧