C語言範例教學:max() — 傳回最大值
在程式設計中,我們常常需要比較兩個數值,找出其中較大的那一個。 C 語言雖然提供許多標準函式,但並沒有直接內建 max() 函式,因此我們可以自己撰寫一個簡單又實用的版本。
一、max() 函式介紹
max() 是一個自訂函式 (user-defined function),用來比較兩個整數,並回傳其中的最大值。 這樣的函式可以讓程式碼更簡潔、可重複使用,也更容易閱讀。
二、程式範例
#include <stdio.h>
// 宣告並定義 max() 函式
int max(int a, int b) {
return (a > b) ? a : b;
}
int main(void) {
printf(“max(3, 7) = %d\n”, max(3, 7));
return 0;
}
三、程式解析
(1) #include <stdio.h>
引入標準輸出入函式庫,讓我們能使用 printf() 來輸出結果。
(2) int max(int a, int b)
這是 max() 函式的定義,代表它接受兩個整數參數 a 和 b,並回傳一個整數結果。
(3) return (a > b) ? a : b;
這一行使用了三元運算子 (ternary operator):
(條件) ? (條件為真時的值) : (條件為假時的值)
意思是:
- 如果
a > b,就回傳a - 否則回傳
b
這樣比用 if 判斷更簡潔。
(4) printf("max(3, 7) = %d\n", max(3, 7));
呼叫 max() 函式,並將結果以格式化輸出顯示在螢幕上。
四、執行結果
max(3, 7) = 7
五、延伸應用
這個 max() 函式也可以用於:
- 比較浮點數(改成
double max(double a, double b)) - 比較陣列中的最大值(搭配
for迴圈) - 甚至可擴充成多值比較的版本
六、重點整理
| 項目 | 說明 |
|---|---|
| 函式名稱 | max() |
| 功能 | 傳回兩數中的最大值 |
| 運算方式 | 使用三元運算子 (a > b) ? a : b |
| 輸入 | 兩個整數 |
| 輸出 | 最大的整數值 |
結語
max() 雖然是一個簡單的函式,但它是理解條件運算子與函式設計概念的好例子。 初學者可以藉由這個範例學會:
- 如何建立並呼叫自訂函式
- 如何運用三元運算子簡化條件判斷
- 如何讓程式更具模組化與可讀性
