1、bool型:bool型变量不可以直接与TRUE、FALSE或者1、0进行比较。
因为bool型中,非零值为“真”(TRUE),零值为“假”(FALSE)。对TRUE并没有确定的值,VC++中为1,VB中为-1。
正确的比较方法为:
bool flag = 1;
if (flag){}
if (!flag){}
2、int型:int型变量直接与0比较。
int a = 1;
if (a == 0){}
if (a!= 0){}
3、float变量:不能将float变量用“==”、“!=”与任何数字比较,应设法转化为“>=”、“<=”的形式。
float a = 3/5;
if ((a >= -value)&&(a <= value)){}//value是允许的精度
4、指针:将指针变量与NULL比较。
因为指针变量的零值是空(NULL):
int a;
int *p = a;
if (p == NULL){}