免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 14288 | 回复: 49
打印 上一主题 下一主题

对于返回值是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
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-21 12:06 |只看该作者 |倒序浏览
呵呵,了解一下那种方式更常用。
int func(), 返回值为0或1.

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

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

论坛徽章:
0
2 [报告]
发表于 2008-06-21 12:08 |只看该作者
额使用前者,这个无所谓了,个人习惯嘛

论坛徽章:
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
3 [报告]
发表于 2008-06-21 12:09 |只看该作者
我也觉得前者更容易理解,后者还要再转一下弯。不过我看到很多代码,都是用的后者。

论坛徽章:
0
4 [报告]
发表于 2008-06-21 12:19 |只看该作者
我喜欢用前者, 内核中很多用的后者. 不过看多了也就习惯了. 呵呵.

论坛徽章:
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
5 [报告]
发表于 2008-06-21 12:23 |只看该作者
原帖由 scutan 于 2008-6-21 12:19 发表
我喜欢用前者, 内核中很多用的后者. 不过看多了也就习惯了. 呵呵.


是啊。我也是看内核中,大部分用后者。我们公司自己写的程序,很多也是用后者。
我读代码的时候,看到 “!”总得想一下,这是判断函数返回0的,呵呵。
感觉没有直接判断是否等于0直观。

论坛徽章:
0
6 [报告]
发表于 2008-06-21 13:25 |只看该作者
:wink: 体会还不深。。。应该都可以吧。
用前者主要可能是在可能返回多个值的时候会混淆吧。
后者逻辑上就很明显是判断。

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

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

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


我也喜欢用后者,只是总得想一想!

论坛徽章:
0
8 [报告]
发表于 2008-06-21 14:42 |只看该作者
我喜欢用后者,更简洁。

论坛徽章:
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
9 [报告]
发表于 2008-06-21 15:06 |只看该作者
原帖由 cugb_cat 于 2008-6-21 14:42 发表
我喜欢用后者,更简洁。


呵呵,用习惯了,后者是更简洁。

我现在是看到后者的时候,还得稍微想一下。

论坛徽章:
0
10 [报告]
发表于 2008-06-21 15:48 |只看该作者
我以前喜欢用!后来喜欢用前者,感觉!和容易和返回NULL表示失败的函数混淆
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP