
C 速查手冊
6.5.2 布林函數
所謂的布林函數 (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 。
