程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 零值比較

零值比較

編輯:C++入門知識

float  X與零值的比較:  

if(x<0.000001&&x>-0.000001) 

注:浮點數是不可以直接比較大小的,因為是非精確存儲,只能設置一個精度(0.000001為允許對誤差即精度),然後在允許誤差內的就認為是相等的;對浮點型數比較的時候用==是不對的。

int X與零值的比較:    

if(X==0)  if (X!=0)

指針char *p與零值的比較:    

if (NULL==p)  if(NULL!=p)

注:錯誤的寫法

  1. if (p == 0)         // 容易讓人誤解p是整型變量  
  2. if (p != 0)   
  3. if (p)                 // 容易讓人誤解p是bool型變量  
  4. if (!p)

bool flat和零值的比較: 

if (flag)    if(!flag )

注:根據布爾類型的語義,零值為“假”(記為FALSE),任何非零值都是“真”(記為TRUE)。TRUE 的值究竟是什麼並沒有統一的標准。例如Visual C++ 將TRUE 定義為1,而Visual Basic 則將TRUE 定義為-1。所以我們不可以將布爾變量直接與TRUE、FALSE 或者1、0 進行比較。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved