欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
if語(yǔ)句

4.3 if 語(yǔ)句

    if語(yǔ)句是C++/C語(yǔ)言中最簡(jiǎn)單、最常用的語(yǔ)句,然而很多程序員用隱含錯誤的方式寫(xiě)if語(yǔ)句。本節以“與零值比較”為例,展開(kāi)討論。

 

4.3.1 布爾變量與零值比較

l         【規則4-3-1不可將布爾變量直接與TRUE、FALSE或者1、0進(jìn)行比較。

根據布爾類(lèi)型的語(yǔ)義,零值為“假”(記為FALSE),任何非零值都是“真”(記為TRUE)。TRUE的值究竟是什么并沒(méi)有統一的標準。例如Visual C++ TRUE定義為1,而Visual Basic則將TRUE定義為-1。

假設布爾變量名字為flag,它與零值比較的標準if語(yǔ)句如下:

if (flag)   // 表示flag為真

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

其它的用法都屬于不良風(fēng)格,例如:

    if (flag == TRUE)  

    if (flag == 1 )    

    if (flag == FALSE)  

    if (flag == 0)     

 

4.3.2 整型變量與零值比較

l         【規則4-3-2應當將整型變量用“==”或“!=”直接與0比較。

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

if (value == 0)  

if (value != 0)

不可模仿布爾變量的風(fēng)格而寫(xiě)成

if (value)      // 會(huì )讓人誤解 value是布爾變量

if (!value)

 

4.3.3 浮點(diǎn)變量與零值比較

l         【規則4-3-3不可將浮點(diǎn)變量用“==”或“!=”與任何數字比較。

    千萬(wàn)要留意,無(wú)論是float還是double類(lèi)型的變量,都有精度限制。所以一定要避免將浮點(diǎn)變量用“==”或“!=”與數字比較,應該設法轉化成“>=”或“<=”形式。

    假設浮點(diǎn)變量的名字為x,應當將  

if (x == 0.0)    // 隱含錯誤的比較

轉化為

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

其中EPSINON是允許的誤差(即精度)。

 

4.3.4 指針變量與零值比較

l         【規則4-3-4應當將指針變量用“==”或“!=”與NULL比較。

    指針變量的零值是“空”(記為NULL)。盡管NULL的值與0相同,但是兩者意義不同。假設指針變量的名字為p,它與零值比較的標準if語(yǔ)句如下:

        if (p == NULL)  // pNULL顯式比較,強調p是指針變量

        if (p != NULL) 

不要寫(xiě)成

        if (p == 0)     // 容易讓人誤解p是整型變量

        if (p != 0)    

    或者

if (p)          // 容易讓人誤解p是布爾變量

    if (!p)        

 

4.3.5 if語(yǔ)句的補充說(shuō)明

有時(shí)候我們可能會(huì )看到 if (NULL == p) 這樣古怪的格式。不是程序寫(xiě)錯了,是程序員為了防止將 if (p == NULL) 誤寫(xiě)成 if (p = NULL),而有意把pNULL顛倒。編譯器認為 if (p = NULL) 是合法的,但是會(huì )指出 if (NULL = p)是錯誤的,因為NULL不能被賦值。

程序中有時(shí)會(huì )遇到if/else/return的組合,應該將如下不良風(fēng)格的程序

    if (condition) 

        return x;

    return y;

改寫(xiě)為

    if (condition)

    {

        return x;

    }

    else

    {

return y;

}

或者改寫(xiě)成更加簡(jiǎn)練的

return (condition ? x : y);
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C語(yǔ)言語(yǔ)句的秘密,工作幾年的程序猿后悔沒(méi)看到
C/C++命名規范
C語(yǔ)言/C 基本語(yǔ)句編程風(fēng)格
零值比較--BOOL,int,float,指針變量與零值比較的if語(yǔ)句 - 張東升's b...
高質(zhì)量C/C++編程(片段)
NULL指針\零指針、野指針
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久