社区
C++ 语言
帖子详情
一个关于if else if的问题
toptext
2009-06-22 08:17:04
关于下列语句那种写法比较好!说说理由,无论是效率(编译器优化后应该是一样的)还是可读性都可以!这个问题想了好久没有想明白!
1:
if(条件一)
{
}
else if(条件二)
{
}
2:
if(条件一)
{
}
else
{
if(条件二)
{
}
}
有时候看到 几个连续的else if 后边没有else会感觉很怪!
...全文
56
12
打赏
收藏
一个关于if else if的问题
关于下列语句那种写法比较好!说说理由,无论是效率(编译器优化后应该是一样的)还是可读性都可以!这个问题想了好久没有想明白! 1: if(条件一) { } else if(条件二) { } 2: if(条件一) { } else { if(条件二) { } } 有时候看到 几个连续的else if 后边没有else会感觉很怪!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
感觉第一中可读性好一点
一个
关于if else容易迷惑的
问题
有个同学说他经常用来面试别人,对于如下代码,你觉得会输出啥: $a = true; if ($a) { echo "true"; } else label: { echo "false"; } 首先,上面的代码输出truefalse, 如果你知道原因,那就不用继续往下看了,如果不知道,那么: 这块让人比较迷惑的原因可能是因为,我们会很直观的认为: label : { statement; } 应该是
一个
整体, 就好比类似: if ($a) { } else switch($a)
if else
一个
有趣的
问题
假设if条件语句更改条件,试想是否会运行else里边的语句? int a= 1; int b =2; if(a<b) { cout<<"a"<<a; a=2; b=1; } else { cout<<"a"<<a; cout<<"b"<<b; } 解答 if…else…语句判断时只会触发其中
一个
,也就是进了if,就不会再去判断else。 ...
php uf else 分支过多,
一个
关于if else容易迷惑的
问题
!
这个本来是之前在微博上有个同学说他经常用来面试别人,大概是说,对于如下代码,你觉得会输出啥:$a = true;if ($a) {echo “true”;} else label: {echo “false”;}当时觉得有点偏,没想写,今天中午又有人问我,我想那就介绍下这个原因吧.首先,上面的代码输出truefalse, 如果你知道原因,那就不用继续往下看了,如果不知道,那么:这块让人比较迷惑的原...
今天写if_else代码出现错误,发现了
一个
问题
import java.util.Scanner; public class If_1 { /** * 使用if_else结构计算用户的成绩 */ public static void main(String[] args) { Scanner input = new Scanner(System.in); //提示用户输入分数 System.out.p...
if else配对以及格式
问题
工作中写过这样一段代码: if((dev.protocal&0xf0)>=0x30)------------------------------------------------------------------条件A if(uart2plc_auto_flood(trace,(my_u8 *)(&seq_n),0x02,F1
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章