指针变量定义的一般形式: 类型说明符 (*指针变量名)(); 函数指针变量是个变量,所有也可以作为参数来用。下面来调用fun1和fun2
#include <stdio.h> /*int max(int a,int b){ if(a>b) return a; else return b; }*/ int fun1(int x); int fun2(int x); typedef int(*FunType)(int); void testFunCall(FunType fp,int x); int main(){ /*int max(int a,int b); int(*funptr)(); int x,y,z; funptr = max; printf("input two numbers:\n"); scanf("%d %d,&x,&y"); z = (*funptr)(x,y); printf("maxmum=%d",z); printf("后来\n");*/ testFunCall(fun1,10); testFunCall(fun2,20); return 0; } void testFunCall(FunType fp,int x){ int t; t = fp(x); printf("result:%d\n",t); } int fun1(int x){ int t; t=x*x; printf("函数fun1的参数为:%d\t返回值为:%d\n",x,t); return t; } int fun2(int x){ int t; t=(int)sqrt(x); printf("函数fun2的参数为:%d\t返回值为:%d\n",x,t); return t; }欢迎您关注我的微信公众号:学习微站(studysth)