我们都知道,在if语句中,要经过逻辑判断,以决定程序的走向。然而不同类型的变量,与零值进行比较时,一般也要遵循某些“准则”。

  

  1.对于bool型变量

    对于bool型变量来说,它的逻辑值只有两种,TRUE和FALSE。C语言中将非零值定义为了TRUE,0定义为FALSE。

    但是对于有些编译器来讲,TURE有可能等于1,也可能等于-1。

    因此,显然if(Bool == 1)或者if(Bool == TRUE)这样的形式都不太好

 

    应该选择if(BOOL)的形式来判断bool型变量。

 

  2.对于浮点型(float)变量

    因为对于浮点型变量都是有精度限制的,所以不能够用==来判断两个浮点型变量是否相等

    比较普遍的做法是,判断的两个变量做差,然后和精度相比较

 

    eg. if(val1 <= EPSINON && val1 >= -EPSINON),其中,EPSINON为判断的精度

 

  3.指针变量

    对于指针变量,零值(即空指针)在编译器中一般都会被定义为NULL。

    因此判断指针变量是否为空,一般的写法是if(NULL == P)

    把NULL放在前面的目的是防止出现p = NULL赋值的情况。

 

  

相关文章:

  • 2022-01-04
  • 2021-07-09
  • 2021-12-24
  • 2022-01-07
  • 2021-12-27
  • 2021-12-24
  • 2021-07-12
猜你喜欢
  • 2022-12-23
  • 2022-01-27
  • 2021-10-14
  • 2021-12-30
  • 2021-08-04
  • 2021-08-16
  • 2022-01-16
相关资源
相似解决方案