免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
11 [报告]
发表于 2008-06-21 17:08 |只看该作者
我喜欢用if(0==func() ) just a joke

[ 本帖最后由 ruoyisiyu 于 2008-6-21 17:12 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2008-06-21 20:50 |只看该作者
if(func() == 0)
赞同使用这个.

论坛徽章:
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
13 [报告]
发表于 2008-06-21 22:51 |只看该作者
原帖由 ruoyisiyu 于 2008-6-21 17:08 发表
我喜欢用if(0==func() ) just a joke


呵呵,这种方法为了防止比较时少写一个“=”。不过很多人多说这是奇技淫巧。

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

yes

论坛徽章:
0
15 [报告]
发表于 2008-06-22 11:47 |只看该作者

回复 #13 Godbach 的帖子

呵呵,我平常也不怎么用,感觉很不顺手还是if(var==0)舒服

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


nod. 感觉返回为是否为NULL的时候,还是判断和NULL的关系。

有时把判断逻辑写清楚一点,总比写的简洁一点好理解。

论坛徽章:
0
17 [报告]
发表于 2008-06-22 18:18 |只看该作者
原帖由 Godbach 于 2008-6-22 18:16 发表


nod. 感觉返回为是否为NULL的时候,还是判断和NULL的关系。

有时把判断逻辑写清楚一点,总比写的简洁一点好理解。



"有时把判断逻辑写清楚一点,总比写的简洁一点好理解"
这话经典.  顶一下.

论坛徽章:
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
18 [报告]
发表于 2008-06-22 18:26 |只看该作者
原帖由 system888net 于 2008-6-22 18:18 发表



"有时把判断逻辑写清楚一点,总比写的简洁一点好理解"
这话经典.  顶一下.


哈哈,主要是我脑子反应迟钝。所以喜欢逻辑清楚的,不然又得拐一下弯,然后才弄明白。

论坛徽章:
0
19 [报告]
发表于 2008-06-22 20:32 |只看该作者
原帖由 Godbach 于 2008-6-22 18:16 发表


nod. 感觉返回为是否为NULL的时候,还是判断和NULL的关系。

有时把判断逻辑写清楚一点,总比写的简洁一点好理解。


0和其他值是有区别的情况下,写成
if (!cond)
     statement
逻辑上更直截了当,比如内核中很多0为正常返回,非0返回错误代码的情况。我已经习惯性地根据!确定是出错情况还是正常况。这样做非常符合看代码时的思维习惯。因为我看代码时首先想到的是出错还是没出错,其次才是出了什么错。

相反如果0并没有什么特殊意义,那就写成
if (exp == 0)
比较好

论坛徽章:
0
20 [报告]
发表于 2008-06-22 21:19 |只看该作者
看函数的情况,如果是类似bool的,只返回0或1,那么用!
如果是返回值的,那么用==0
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP