cannot convert parameter 3 from 'int (int,int)' to 'int (__cdecl *)(void)'

来源:百度知道 编辑:UC知道 时间:2024/06/08 15:26:57
#include<stdio.h>
main()
{
int max(int,int);
int min(int,int);
int add(int,int);
int process(int,int,int(*p)());
int a,b;
printf("%d,%d",&a,&b);
printf("max= ");
process(a,b,max);
printf("min= ");
process(a,b,min);
printf("sum= ");
process(a,b,add);
}

max(int x,int y)
{
int z;
if(x<y)z=y;
else z=x;
return(z);
}

min(int x,int y)
{
int z;
if(x<y)z=x;
else z=y;
return(z);
}

add(int x,int y)
{
int z;
z=x+y;
return(z);
}

process(int x,int y,int(*p)(int,int))
{
int result;
result=(*p)(x,y);
printf("%d",result);

}

#include<stdio.h>
void main()
{
int max(int,int);
int min(int,int);
int add(int,int);
void process(int,int,int(*p)(int,int));
int a,b;
a=2;b=5;
printf("%d,%d\n",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;
if(x<y)z=y;
else z=x;
return(z);
}

int min(int x,int y)
{
int z;
if(x<y)z=x;
else z=y;
return(z);
}

int add(int x,int y)
{
int z;
z=x+y;
return(z);
}

void process(int x,int y,int(*p)(int,int))
{
int result;
result=(*p)(x,y);
printf("%d\n",result);

}