一 bool值和零比較
bool型別是在c99標準中才引入的乙個語法特點,用的很少,一般情況下我們都使用整形變數來充當bool變數的角色
int flag;
if (flag == true)
if (flag == false)
上面這個是錯誤寫法。 因為在c語言中bool值的語義是:0表示假,非0表示真
# define false 0
#define true 1
但是flag是個整數,可以被賦值為很多值 2 3 4或其他非0值。比如flag本來是5,表示真,但是這裡和true(1)比較的時候就為假;邏輯錯誤。
正確寫法如下
int flag;
if (flag)//如果是真
if (!flag)//如果是假
二 整形變數和零值比較
如果乙個變數就是整形(不表示真假),如何跟0比較?
int num = 10;
if (num == 0)
三 指標和零進行比較
int *p = null;
if (p != null)
四 浮點型和零值比較
#define exp 0.00000000000000000001//表精度
float f = 0.00001;
if ((f > -exp) && (f < exp))
擴充套件:判斷乙個浮點數是否等於21.0
#define exp 0.00000000000000000001//表精度
float f = 0.00001;
if ((f-21.0 > -exp) && (f-21.0 < exp))
面試題1.請寫出bool flag與」零值「比較的if語句
標準答案:
if(flag)
if(!flag)
如下寫法均屬不良風格,不得分
if(flag==true)
if(flag==1)
if(flag==false)
if(flag==0)
2.請寫出char *p與「零值」比較的if語句
if(p==null)
if(p!=null)
如下均屬於不良風格,不得分
if(p==0)
if(p!=0)
if(p)
if(!p)
3.請寫出float x與「零值」比較的if語句
const float epsinon 0.00001
if((x>=-epsinon)&&(x<=epsinon))
如下是錯誤寫法不得分
if(x==0.0)
if(x!=0.0)
這時無意間發現了乙個被忽視的知識點。
sql語句書寫規範
一 sql書寫規範 1 sql語句的所有表名 欄位名全部小寫,系統保留字 內建函式名 sql保留字大寫。2 連線子or in and 以及 等前後加上乙個空格。3 對較為複雜的sql語句加上注釋,說明演演算法 功能。注釋風格 注釋單獨成行 放在語句前面。1 應對不易理解的分支條件表示式加注釋 2 對...
ecshop除錯php語句書寫規範
在除錯中我們經常使用 var dump val die 輸出變數。但是變數多的時候有時候會顯示不全,因此,有些朋友會選擇 print r print r val die 但是,這樣內容都輸出出來了,但是不工整,格式化一下 echo print r val echo die 這樣子各個變數就都可以很好...
CSS 書寫規範
本文是參考了css森林中的規範,並結合之前幾個專案積累所書寫的乙個基本規範。不敢說是原創,所以鄭重感謝一下css森林。同時,本文件也處於持續改進中。1.基本 css檔案中,選擇器書寫按照 標籤 標籤偽類 id 類 覆蓋 排序,同一型別寫在一起 進行覆蓋時,也按照這樣乙個順序。css定義中,屬性的書寫...