函数引用函数 process函数内部定义怎么和其他函数联系
#include<stdio.h>int max(int,int);
int min(int,int);
int add(int,int);
int process (int x,int y,int (*fun)(int,int) );
int main()
{
int a,b;
printf("Enter a and b:");
scanf("%d %d",&a,&b);
printf("max = ");
process(a,b,max);
printf("min = ");
process(a,b,min);
printf("sum = ");
process(a,b,add);
}
int max(int x,int y)
{
int z;
z=x>y?x:y;
printf("%d\n",z);
}
int min(int x,int y)
{
int z;
z=x<y?x:y;
printf("%d\n",z);
}
int add(int x,int y)
{
int z;
z=x+y;
printf("%d\n",z);
}
int process(int x,int y,int (*fun)())
{
if(fun==max)max(x,y);
else if(fun==min)min(x,y);
else if(fun==add)add(x,y);
} #include<stdio.h>
/*
int max(int,int);
int min(int,int);
int add(int,int);
int process (int x,int y,int (*fun)(int,int) );
*/
void max(int,int);
void min(int,int);
void add(int,int);
void process (int x,int y,void (*fun)(int,int) );
int main()
{
int a,b;
printf("Enter a and b:");
scanf("%d %d",&a,&b);
printf("max = ");
process(a,b,max);
printf("min = ");
process(a,b,min);
printf("sum = ");
process(a,b,add);
}
void max(int x,int y)
{
int z;
z=x>y?x:y;
printf("%d\n",z);
}
void min(int x,int y)
{
int z;
z=x<y?x:y;
printf("%d\n",z);
}
void add(int x,int y)
{
int z;
z=x+y;
printf("%d\n",z);
}
void process(int x,int y,void (*fun)(int a, int b))
{
fun(x, y);
/*
if(fun==max)max(x,y);
else if(fun==min)min(x,y);
else if(fun==add)add(x,y);
*/
}
页:
[1]