函数指针实现不同数目形参的函数调用

来源:互联网 发布:在淘宝上卖什么最简单 编辑:程序博客网 时间:2024/06/14 21:02
#include <stdio.h>
typedef int (* func_t)(void *,void *,void *, void *);
int add(void * a,void *b){ return (*(int *)a+ *(int *)b);}
int singel(void * a){ return *(int *)a;}
int Square(void * a,void *b){ return (*(int *)a * *(int *)b);}
int Cubic(void * a,void *b, void *c){ return (*(int *)a * *(int *)b  * *(int *)c);}
int x4(void * a,void *b, void *c,void *d){ return (*(int *)a * *(int *)b  * *(int *)c * *(int *)d);}
void print_result(func_t func){
    int a = 1, b=2, c=3, d=4;
    printf("%d %d %d \n%d\n",a,b,c,func(&a,&b,&c,&d));
    }
int main()
{
    print_result((func_t)add);
    print_result((func_t)singel);
    print_result((func_t)Square);
    print_result((func_t)Cubic);
    print_result((func_t)x4);
}


原创粉丝点击