正在加载图片...
三.用指向函数的指针变量作函数参数 第10章第5节 相当于用函数名作(其他)函数的参数 例10.24设一函数 process在调用它时,每次实现不同的功能。主函数中输入a、b两个数,第 次调用 process时求出a、b中最大值,第二次调用时求出a、b中最小值,第三次调用时求出a、b 之和。 Int max (int x. Int freturn(x>y? x y) Int min(int x, int y) freturn(x<y? x: y),) int add (int x, int y) freturn(x+y); int process( int x, int y, int (*p)(int, int ) 指向函数的指针作形参 fint resulte resulte=p(x,y) 可省 return(resulte);) 函数声明 main( fint max(int x, int y), min(int x, int y), add(int x, int y), process( int x,int y, int(*p)(int, int )) a, b printf( input a, b="); scanf(%d, %d, &a, &b) 可省 prit( max=%d, process( a, b, max);}函数名作实参 printf("max=%dn, process(a, b, min)) printf("max=%dn,process(a,b, add);三 第10章第5节 . 用指向函数的指针变量作函数参数 相当于用函数名作(其他)函数的参数 例 10.24 设一函数process,在调用它时,每次实现不同的功能。主函数中输入a、b两个数,第一 次调用process时求出a、b中最大值,第二次调用时求出a、b中最小值,第三次调用时求出a、b 之和。 int max (int x, int y) {return(x>y? x:y);} int min (int x, int y) {return(x<y? x:y);} int add (int x, int y) {return(x+y);} int process( int x,int y , int (*p)(int,int )) {int resulte; resulte=(*p)(x,y); return(resulte); } main() {int max(int x,int y), min(int x, int y), add (int x, int y), process( int x,int y, int (*p)(int,int )); int a,b, printf(“input a,b=“); scanf(“%d,%d”,&a,&b); printf(“max=%d\n”,process (a,b,max)); printf(“max=%d\n”,process (a,b,min)); printf(“max=%d\n”,process (a,b,add)); } 函数名作实参 指向函数的指针作形参 可省 可省 函数声明
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有