2026年2月9日 星期一

C語言:函式指標與回呼函式範例


在 C 語言中,函式指標是許多高階設計技巧的基礎,回呼函式 (Callback Function) 是其中最常見的應用之一。範例程式碼如下:

#include <stdio.h>

int  square(int x) {
    return x * x;
}
int  doubleValue(int x) {
    return 2 * x;
}
int  negate(int x) {
    return -x;
}

typedef int(*Processor)(int);
Processor handlers[] = {square, doubleValue, negate};
const char *modes[] = {"平方", "乘以2", "取負數"};

int  process(int value, Processor func) {
return func(value);
}

int main() {
    int num, choice, result;

    printf("請輸入一個整數:");
    scanf("%d", &num );

    printf("請選擇操作方式 ( 1-3 ):\n");
    for (int i = 0; i < 3; i++) {
        printf("%d %s\n", i+1, modes[i]);
    }

    scanf("%d", &choice);

    if (choice >= 1 && choice <=3) {
        result = process(num, handlers[choice - 1]);
        printf("處理結果:%d\n", result);
    } else {
         printf("輸入錯誤,請重新執行程式。\n");
    }
    return 0;
}



沒有留言:

張貼留言