找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2425|回復: 0
打印 上一主題 下一主題
收起左側

BOOL,int,float,指針變量 與“零值”比較

[復制鏈接]
跳轉到指定樓層
樓主
ID:108615 發(fā)表于 2016-3-13 17:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      BOOL(布爾)型變量:if(!var)
   int型變量: if(var==0)
   float型變量:
   const float EPSINON = 0.00001;    //在計算機之中,它只認識0和1,自然數(shù)2都不認識,所以計算機是比較2的,而當數(shù)字小到一定的程度計算機也不認識如:它的極限就是1.2*10負38次方,而一般的情況下我們就把小于0.00001絕對值得數(shù)認為是0.
   if ((x >= - EPSINON) && (x <= EPSINON)
   指針變量:  if(var==NULL)
  剖析:
  考查對0值判斷的“內功”,BOOL型變量的0判斷完全可以寫成if(var==0),而int型變量也可以寫成if(!var),指針變量的判斷也
可以寫成if(!var),上述寫法雖然程序都能正確運行,但是未能清晰地表達程序的意思。
   一般的,如果想讓if判斷一個變量的“真”、“假”,應直接使用if(var)、if(!var),表明其為“邏輯”判斷;如果用if判斷一個數(shù)
值型變 量(short、int、long等),應該用if(var==0),表明是與0進行“數(shù)值”上的比較;而判斷指針則適宜用if(var==NULL), 這是
一種很好的編程習慣。
  浮點型變量并不精確,所以不可將float變量用“==”或“!=”與數(shù)字比較,應該設法轉化成“>=”或“<=”形式。如果寫
成if (x == 0.0),則判為錯,得0分。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表