指向函数的指针?该如何解决
指向函数的指针?
/*指向函数的指针,输入两个数打出较大值或较小值及之和,这题是上课老师那里抄的,漏了些,运行不正确的,大虾们帮我看看,谢谢*/
void process(int x,int y,int (*fun)());
max (int x,int y);
min (int x,int y);
add (int x,int y);
main()
{
int a,b,c,max ;
scanf( "%d %d ",&a,&b);
process(a,b,max);
printf( "%d ",);/*这里怎么打出?*/
getch();
}
void process(int x,int y,int (*fun)())
{
int result;
result =(*fun)(x,y);
return(result);
}
max (int x,int y)
{
return(x> y?x:y);
}
min (int x,int y)
{
return(x> y?x:y);
}
add (int x,int y)
{int sum;
sum=x+y;
return(sum);
}
------解决方案--------------------
#include "conio.h "
#undef max
#undef min
int process(int x,int y,int (*fun)(int, int));
int max (int x,int y);
int min (int x,int y);
int add (int x,int y);
void main()
{
int a,b,c;
scanf( "%d %d ",&a,&b);
int r = 0;
r = process(a,b,max);
printf( "max : %d\n ", r);
r = process(a,b,min);
printf( "min : %d\n ", r);
r = process(a,b,add);
printf( "add : %d\n ", r);
getch();
}
int process(int x,int y,int (*fun)(int, int))
{
int result;
result =(*fun)(x,y);
return(result);
}
int max (int x,int y)
{
return(x> y?x:y);
}
int min (int x,int y)
{
return(x> y?y:x);
}
int add (int x,int y)
{
int sum;
sum=x+y;
return(sum);
}
------解决方案--------------------
void process(int x,int y,int (*fun)(int, int));
int max (int x,int y);
int min (int x,int y);
int add (int x,int y);
main()
{
int a,b,c;
scanf( "%d %d ",&a,&b);
c=process(a,b,max);
printf( "%d ",);/*这里怎么打出?*/
getch();
}
void process(int x,int y,int (*fun)(int,int))
{
/*指向函数的指针,输入两个数打出较大值或较小值及之和,这题是上课老师那里抄的,漏了些,运行不正确的,大虾们帮我看看,谢谢*/
void process(int x,int y,int (*fun)());
max (int x,int y);
min (int x,int y);
add (int x,int y);
main()
{
int a,b,c,max ;
scanf( "%d %d ",&a,&b);
process(a,b,max);
printf( "%d ",);/*这里怎么打出?*/
getch();
}
void process(int x,int y,int (*fun)())
{
int result;
result =(*fun)(x,y);
return(result);
}
max (int x,int y)
{
return(x> y?x:y);
}
min (int x,int y)
{
return(x> y?x:y);
}
add (int x,int y)
{int sum;
sum=x+y;
return(sum);
}
------解决方案--------------------
#include "conio.h "
#undef max
#undef min
int process(int x,int y,int (*fun)(int, int));
int max (int x,int y);
int min (int x,int y);
int add (int x,int y);
void main()
{
int a,b,c;
scanf( "%d %d ",&a,&b);
int r = 0;
r = process(a,b,max);
printf( "max : %d\n ", r);
r = process(a,b,min);
printf( "min : %d\n ", r);
r = process(a,b,add);
printf( "add : %d\n ", r);
getch();
}
int process(int x,int y,int (*fun)(int, int))
{
int result;
result =(*fun)(x,y);
return(result);
}
int max (int x,int y)
{
return(x> y?x:y);
}
int min (int x,int y)
{
return(x> y?y:x);
}
int add (int x,int y)
{
int sum;
sum=x+y;
return(sum);
}
------解决方案--------------------
void process(int x,int y,int (*fun)(int, int));
int max (int x,int y);
int min (int x,int y);
int add (int x,int y);
main()
{
int a,b,c;
scanf( "%d %d ",&a,&b);
c=process(a,b,max);
printf( "%d ",);/*这里怎么打出?*/
getch();
}
void process(int x,int y,int (*fun)(int,int))
{