BOOL,int,float,指針變量 與“零值”比較的 if 語句

分別給出BOOL,int,float,指針變量 與“零值”比較的 if 語句(假設變量名爲var)

BOOL: if(!val)

int: if(val==0)

float: const float EP=0.00001;

if((val-0.0)>-EP&&(val-0.0)<-EP)

指針: if(val==nullptr)

考查對0值判斷的“內功”,BOOL型變量的0判斷完全可以寫成if(var==0),而int型變量也可以寫成if(!var),指針變量的判斷也可以寫成if(!var),上述寫法雖然程序都能正確運行,但是未能清晰地表達程序的意思。  
一般的,如果想讓if判斷一個變量的“真”、“假”,應直接使用if(var)、if(!var),表明其爲“邏輯”判斷;如果用if判斷一個數值型變量(short、int、long等),應該用if(var==0),表明是與0進行“數值”上的比較;而判斷指針則適宜用if(var==NULL),這是一種很好的編程習慣。   
浮點型變量並不精確,所以不可將float變量用“==”或“!=”與數字比較,應該設法轉化成“>=”或“<=”形式。如果寫成if (x == 0.0),則判爲錯,得0分。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章