免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach
打印 上一主题 下一主题

对于返回值是0或1的,使用哪种判断方式? [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
31 [报告]
发表于 2008-06-23 19:07 |只看该作者

回复 #29 leesnow1 的帖子

浮点和指针的比较方法貌似不大合适

论坛徽章:
0
32 [报告]
发表于 2008-06-23 22:59 |只看该作者
通常使用前者
后者有时候用多了迷糊

论坛徽章:
0
33 [报告]
发表于 2008-06-24 00:07 |只看该作者
原帖由 Godbach 于 2008-6-21 12:06 发表
呵呵,了解一下那种方式更常用。
int func(), 返回值为0或1.

当调用该函数,判断其返回值为0时:
if(func() == 0)

if(!func())
大家更常用哪一种?

后边那种,看着顺心~

论坛徽章:
0
34 [报告]
发表于 2008-06-24 09:47 |只看该作者
我一直用前者,直观。只有在is_XXXX()能给人感觉一眼看出是返回bool类型操作才用后者。

论坛徽章:
0
35 [报告]
发表于 2008-06-24 10:26 |只看该作者
高质量C/C++里面建议是用前者,我觉得有道理

论坛徽章:
0
36 [报告]
发表于 2008-06-24 12:55 |只看该作者
后者

论坛徽章:
0
37 [报告]
发表于 2008-06-24 13:43 |只看该作者
前者好点,容易看得。个人意见

论坛徽章:
0
38 [报告]
发表于 2008-06-24 14:27 |只看该作者

回复 #5 Godbach 的帖子

估计是为了让内核更小.少几个字符也是个事儿嘛.

我瞎说的.

论坛徽章:
0
39 [报告]
发表于 2008-06-24 15:44 |只看该作者
原帖由 flw2 于 2008-6-21 15:48 发表
我以前喜欢用!后来喜欢用前者,感觉!和容易和返回NULL表示失败的函数混淆

我喜欢用!,不过即使你函数返回null 你用if(!null)不就是表示执行返回null这个值的操作了吗?这样理解很容易,也很直观。

论坛徽章:
0
40 [报告]
发表于 2008-06-24 15:50 |只看该作者
这个应该看语义吧
如果只是纯粹地判断是0或者1或者是NULL,就用 if(func() == 0),这样容易理解

如果表示的是逻辑关系就是就用后者
比如 if( !success()) { cry(); }
这样看程序的人可以当英语看,把 ! 读作 not,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP