Bool 变量 与零值比较
bool flag;
代码示例
bool flag;
if(flag) //表示flag为真
if(!flag) //表示为假
//这种情况编程时不要用
if(flag == 0)
if(flag == 1)
if(flag == false)
if(flag == true)
整型变量与零值比较 int flag
规则:应当将整形变量用“==”或“!=”直接与0比较
int num;
if (num == 0)
if (num != 0)
//不可模仿bool值的比较方式以免被当成是bool变量
if (num)
if (!num)
指针类型与零值比较 int* flag;
规则:应当将指针变量用 "==” 或者 “!=” 与NULL 比较
指针变量的零值是“空”(记为NULL) 尽管NULL与0值相同,但是两者的意义不同。
char ptr;
//显示比较,强调ptr是指针变量
if (ptr == NULL)
if (ptr != NULL)
//不要写成
if (ptr == 0)
if (ptr != 0)
if (ptr)
if (!ptr)
浮点变量与零值比较 : float flag;(精度) double flag;
规则:不可将浮点型变量用“==”或者“!=”与任何数字比较不论是float变量还是double变量,都有精度限制。所以一定要避免将浮点型变量用“==”或“!=”与数字比较,应该设法换成“>=”或者“<=”形式。
float epsinon = 0.000001; //设定允许的误差
float x;
if (x == 0.0) //隐含错误的比较方法
if ((x >= -epsinon) && (x <= epsinon)) //正确的比较方法