與零值比較

2021-08-04 01:18:54 字數 692 閱讀 7714

以下摘自《林銳-高質量c++c程式設計指南》

布林變數與零值比較

不可將布林變數直接與true、false或者1、0進行比較。

假設布林變數名字為flag,它與零值比較的標準if語句如下:

if (flag) // 表示flag為真

if (!flag) // 表示flag為假

整型變數與零值比較

應當將整型變數用「==」或「!=」直接與0比較。

假設整型變數的名字為value,它與零值比較的標準if語句如下:

if (value == 0)

if (value != 0)

浮點變數與零值比較

不可將浮點變數用「==」或「!=」與任何數字比較。

無論是float還是double型別的變數,都有精度限制。所以一定要避免將浮點變數用「==」或「!=」與數字比較,應該設法轉化成「> =」或「 <=」形式。

if ((x> =-epsinon) && (x <=epsinon))

指標變數與零值比較

應當將指標變數用「==」或「!=」與null比較。

if (p == null) // p與null顯式比較,強調p是指標變數

if (p != null)

與零值比較

當通過用if 值 0 進行比較的時候 要看這個值是什麼型別的 具體如下 1.當值為 int,char型的時候 應用 if int val 0 或者 if int val 0 2.當值為指標變數的時候 應用if null p 或者if null p 注 null最好寫在左邊 因為如果在右邊的話容易寫成...

變數與零值比較

l 不可將布林變數直接與true false或者1 0進行比較。根據布林型別的語義,零值為 假 記為false 任何非零值都是 真 記為true true的值究竟是什麼並沒有統一的標準。例如visual c 將true定義為1,而visual basic則將true定義為 1。假設布林變數名字為fl...

各變數與零值比較!!!

一 bool變數與零值比較。bool型別的定義中,零值為假 false 任何非零值都為真!所以不可將bool變數直接與true,false,0,或者1來比較!比如 char flag a if flag printf true n else if flag printf false n 二 整型變數...