C 速查手冊

布林函數

所謂的布林函數 (Boolean function) 是指傳回真假值的函數 (function) ,由於 C 語言中運算式 (expression) 結果為 0 就表示假 (false) ,非 0 值就表示真 (true) ,所以當函數傳回 0 或非 0 值時,就可以當作布林函數來使用。

例如以下的函數 max() 為判斷兩個整數大小的函數

#include <stdio.h>

int max(int, int); 

int main()
{
    int a = 6;
    int b = 13;
    
    if (max(a, b)) {
        printf("第一個數字比較大\n");
    }
    else {
        printf("第二個數字比較大\n");
    }    
    
    return 0;
}

int max(int x, int y)
{
    return x > y;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:max.c
    功能:比較兩個數字,如果第一個數字比較大就回傳真
    作者:張凱慶 */

編譯後執行,結果如下

$ gcc max.c
$ a.out
第二個數字比較大
$

上例中直接把函數 max() 放到 if 陳述之中做條件判斷,依回傳值決定程式最終印出哪一行文字。函數 max() 僅有一行 return 陳述,也就是直接回傳運算式 x > y 的值,若 x > y ,就會回傳 1 ,反之回傳 0

回 C 速查手冊首頁