在C語言中,表示真和假的最好方法是什麼?

在c語言中,任何等於零的東西都被認爲是假,任何等於非零值的東西都被認爲是真,因此,最常見的定義就是假爲O,真爲1。許多程序中都包含了具有如下定義的頭文件:
    #define FALSE O
    #define TRUE  1
如果你在編寫Windows程序,你應該注意頭文件windows.h中的TRUE和FALSE的確切定義。上述真和假的定義方式非常普遍,並且是完全可以接受的,然而,還有其它幾種定義方式,請看下例:
    #define FALSE 0
    #define TRUE  !FALSE
上例把FALSE定義爲0,把TRUE定義爲非零值。注意,即使是負數,如-1,也是非零值,因此也被認爲是真。

另一種定義方式是建立自己的枚舉類型,如Boolean(或者BOOL),如下所示:
    enurn BOOL{
    FALSE,
    TRUE
    };
正象你所可能已經知道的那樣,在缺省情況下,枚舉類型的第一個元素被賦值爲O,因此,在上述枚舉定義中,FALSE被賦值爲0,TRUE被賦值爲1。與使用符號常量相比,使用枚舉類型有它的一些好處,詳見5.6和5.7中的有關內容。

哪種方法最好呢?這個問題沒有一個唯一的答案。如果你在編寫一個Windows程序,那麼TRUE和FALSE都是已經爲定義好的,你沒有必要再建立自己的定義,在其它情況下,你可以從前文所介紹的幾種方法中選擇一種。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章