面試題-關於良好的編碼風格
阿新 • • 發佈:2019-01-26
//假設布林變數名字為flag,它與零值比較標準if語句
//1.1
if(flag == TRUE)
if(flag == FALSE)
//1.2
if(flag)
if(!flag)
第二種風格較良好。**不可將布林變數直接與TRUE、FALSE進行比較 因為不同的編譯器下對TRUE的值定義不同
---------------------------------------------------
//假設整型變數名字為value,它與零值比較標準if語句
//2.1
if(value==0)
if(valu !=0)
//2.2
if(value)
if(!value)
第一種風格較良好。第二種風格會讓人誤解value是布林變數,應該將整型變數用“== ”或“!=”直接與0 比較
----------------------------------------------------
//假設浮點型變數名字為x,它與0.0的比較如下
//3.1
if (x == 0.0)
if (x != 0.0)
//3.2
if ((x >= -EPSINON) && (x <= EPSINON))
if ((x < -EPSINON) || (x> EPSINON))
EPSINON是允許的誤差(精度)
第二種風格較良好。注意:無論是float還是double型別的變數,都有精度限制。
所以一定要避免將浮點變數用“== ”或“!=”與數字比較,應該設法轉化成“>= ”或者“<= ”形式
----------------------------------------------------
//指標變數p與0的比較
//4.1
if (p == NULL)
if (p != NULL)
if (p ==0)
if (p !=0)
第一種風格較良好,指標變數的零值是“空”(記為NULL)。儘管NULL的值與0相同,但是兩者意義不同。用p與NULL顯示比較,強調是指標變數。
如用p與0比較,會讓人容易誤解p是整型變數。