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){}