函数指针void process(int x,int y,int(*fun)(int,int ) )和void process(int x,int y,int(
程序代码:
/*函数指针(此程序可正常运行)*/ #include<stdio.h> int max(int x,int y); //函数声明 int min(int x,int y); //函数声明 int add(int w,int z); //函数声明 void process(int x,int y,int(*fun)(int,int ) ); //函数声明 /*(当把这句语句改成void process(int x,int y,int(*fun)( ) );后面函数定义时作相应修改)编译时程序错误,为什么?*/ void main() { int a,b; printf("请输入两个数字:"); scanf("%d %d",&a,&b); process(a,b, max); process(a,b, min); process(a,b, add); } int max(int x,int y) { int w; w=x>y?x:y; return w; } int min(int x,int y) { int w; w=x<y?x:y; return w; } int add(int w,int z) { int x; x=w+z; return x; } void process(int x,int y,int (*fun)(int,int)) { int result; result=(*fun)(x,y); printf("%d\n", result); }