首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言函數呼叫詳解:從參數傳遞到多值比較實作

     編輯:關於C語言

C 語言函數呼叫詳解:從參數傳遞到多值比較實作

函數基礎

C 程式必須包含一個 main 函數作為入口。可根據需求自訂函數實現模組化。函數包含:返回型別、名稱、參數列表、函數體。

範例一:找出兩數最大值

#include <stdio.h>

int max(int a, int b) {
    return (a > b) ? a : b;
}

int main() {
    int a, b, c;
    printf("輸入兩個整數: ");
    scanf("%d %d", &a, &b);
    c = max(a, b);
    printf("最大值: %d\n", c);
    return 0;
}

關鍵點:若函數返回型別與 return 運算式型別不同,以函數型別為準,自動進行數值轉換。例如將參數改為 float,返回值會自動轉為 float。

範例二:找出三數最大值

#include <stdio.h>

int max3(int a, int b, int c) {
    int max = a;
    if (b > max) max = b;
    if (c > max) max = c;
    return max;
}

int main() {
    int a = 21, b = 10, c = 1;
    printf("最大數為: %d\n", max3(a, b, c));
    return 0;
}

注意:原始碼中 if(c>a); 多餘的分號導致條件判斷失效,已修正。

函數呼叫堆疊圖解

main() 呼叫 max3(21,10,1)
    |
    v
max3 執行: 分配區域變數 max, 比較賦值
    |
    v
return max (21)
    |
    v
main 接收返回值, 列印

最佳實務

  • 函數聲明置於檔案頂部或標頭檔。
  • 參數建議使用 const 防止誤修改:int max(const int a, const int b)。
  • 單一職責:每個函數只做一件事。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved