浅谈C语言中的回调函数

2016-08-22 / C

一言不合直接上代码。

#include <stdio.h>

int get_value(int a[], int n, bool (*fp)(int,int)){
    int value = a[0];
    for (int i = 1; i < n; i++){
        if ((*fp)(a[i],value)){
            value = a[i];
        }
    }
    return value;
}

bool cmp(int a, int b){
    return a < b;
}

int main(){
    int a[4] = {1,2,4,5};
    int value = get_value(a, 4, cmp);
    printf("%d\n", value);
    return 0;
}