用正确的方式写if语句——与零值作比较

1.if语句中的布尔变量与零值作比较

    不能用布尔变量与true,false,1,0直接作比较。布尔变量类型的语义是:零值为“假”,任何非零值都表示“真”。因为true的值并没有唯一的标准,因此不能用布尔变量与它直接进行比较。

    假设布尔变量为flag,那么它与零值进行比较时if语句应该是

     

    if(flag)\\表示如果flag为真

    if(!flag)\\表示如果flag为假

不能用以下的这些方法

    if(flag==1)

    if(flag==true

    if(flag==false)

    if(flag!=0

2.if语句中整型变量与零值作比较

    整型变量中应该用“==”“!=”直接与零作比较,例如:

   if(value==0)

   if(value!=0)

不应该用

   if(value)

   if(!value)

这样容易被误解为value是布尔变量。

3.if语句中浮点变量与零值作比较

不能将浮点变量用“==”“!=”与任何数字作比较。

float和double类型的变量都有精度限制。应该用“>=”“<=”的形式进行比较。

应为

   if((x>=-MIN) && (x<=MIN))

MIN可以是0.00000001。

不能直接

   if(x==0.00)

4.if语句中指针变量与零值作比较

  指针变量的零值是“空”,因此应该与“NULL”作比较。虽然“NULL”代表0,但是有不同的意义。

if语句如下:

  if(p==NULL)

  IF(P!=NULL)

不同的形式代表不同的含义,因此要正确的表达想要表达的意思,应该用正确的方式写代码。

本文出自 “dream” 博客,转载请与作者联系!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值