int float bool 字符类型 指针 与'零值'的比较
int float bool 指针 与'零值'的比较
这里“零值”可以是0, 0.0 , FALSE 或者“空指针”.
-
int与与'零值'的比较(应当将整型变量用“==”或“!=”直接与0比较)
1 int a;
2 if(a != 0)
-
float与'零值'的比较 (不可将浮点变量用“==”或“!=”与任何数字比较)
千万要留意,无论是float 还是double 类型的变量,都有精度限制,都不可以用“==”或“!=”与任何数字比较,应该设法转化成“>=”或“<=”形式。
假设浮点变量的名字为x,应当将
if (x == 0.0) // 隐含错误的比较
转化为
if ((x>=-EPSINON) && (x<=EPSINON))
其中EPSINON 是允许的误差(即精度)。
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
-
bool与'零值'的比较(不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。)
bool flag;
if(!flag)或者if(flag)
-
char *p 指针与'零值'的比较(应当将指针变量用“==”或“!=”与NULL比较。)
char *p;
if(p!=NULL)或者if(p == NULL)

浙公网安备 33010602011771号