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 。