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