使用 define

所有版本的 C,將有效地將 0 以外的任何整數值視為 true 作為比較運算子,將整數值 0 視為 false。如果從 C99 開始沒有 _Boolbool,你可以使用 #define 巨集在 C 中模擬布林資料型別,你仍然可以在遺留程式碼中找到這樣的東西。

#include <stdio.h>

#define bool int
#define true 1
#define false 0

int main(void) {
    bool x = true;  /* Equivalent to int x = 1; */
    bool y = false; /* Equivalent to int y = 0; */
    if (x) /* Functionally equivalent to if (x != 0) or if (x != false) */
    {
        puts("This will print!");
    }
    if (!y) /* Functionally equivalent to if (y == 0) or if (y == false) */
    {
        puts("This will also print!");
    }
}

不要在新程式碼中引入它,因為這些巨集的定義可能會與 <stdbool.h> 的現代用法發生衝突。