函数指针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);
}










