零值斗劲
添加时间:2013-7-10 点击量:
float X与零值的斗劲:
if(x<0.000001&&x>-0.000001)
注:浮点数是不成以直接斗劲大小的,因为长短正确存储,只能设置一个精度(0.000001为容许对误差即精度),然后在容许误差内的就认为是相等的;对浮点型数斗劲的时辰用==是不合错误的。
int X与零值的斗劲:
if(X==0) if (X!=0)
指针char p与零值的斗劲:
if (NULL=p) if(NULL!=p)
注:错误的写法
- if (p == 0) // 轻易让人误会p是整型变量
- if (p != 0)
- if (p) // 轻易让人误会p是bool型变量
- if (!p)
bool flat和零值的斗劲:
if (flag) if(!flag )
注:按照布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE 的值毕竟是什么并没有同一的标准。例如Visual C++ 将TRUE 定义为1,而Visual Basic 则将TRUE 定义为-1。所以我们不成以将布尔变量直接与TRUE、FALSE 或者1、0 进行斗劲。
float X与零值的斗劲:
if(x<0.000001&&x>-0.000001)
注:浮点数是不成以直接斗劲大小的,因为长短正确存储,只能设置一个精度(0.000001为容许对误差即精度),然后在容许误差内的就认为是相等的;对浮点型数斗劲的时辰用==是不合错误的。
int X与零值的斗劲:
if(X==0) if (X!=0)
指针char p与零值的斗劲:
if (NULL=p) if(NULL!=p)
注:错误的写法
- if (p == 0) // 轻易让人误会p是整型变量
- if (p != 0)
- if (p) // 轻易让人误会p是bool型变量
- if (!p)
bool flat和零值的斗劲:
if (flag) if(!flag )
注:按照布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE 的值毕竟是什么并没有同一的标准。例如Visual C++ 将TRUE 定义为1,而Visual Basic 则将TRUE 定义为-1。所以我们不成以将布尔变量直接与TRUE、FALSE 或者1、0 进行斗劲。