如何让process()显示正确的运算结果?
#include<stdio.h>int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}
int min( int x,int y )
{
int z;
if ( x>y ) z=y;
else z=x;
return (z);
}
int add( int x,int y )
{
int z;
z = x+y;
return (z);
}
int process( int x,int y,int (*f)() )
{
int result;
result = f();
printf("%d\n",result);
}
main()
{
int a,b;
printf("please input a and b:\n");
scanf( "%d %d",&a,&b );
printf("max=");
process(a,b,max );
printf("min=");
process(a,b,min );
printf("sum=");
process(a,b,add );
}
为什么显示的会是地址,而不是正确的结果.如果不按指针调用结果就是正确的,这是为什么?