指针函数问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 23:49:32
#include<stdio.h>
int max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
void main()
{
int max(int a,int b);
int(*pmax)();
int x,y,z;
pmax=max;
printf("input two numbers:\n");
scanf("%d%d",&x,&y);
z=(*pmax)(x,y);
printf("maxmum=%d",z);
}
望高手们指教这个错在那里

#include<stdio.h>
int max(int ,int );//函数说明还是移到这里较好,参数名称可有可无
int max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
void main()
{ //函数说明移走了
int(*pmax)(int,int);//函数指针定义为指向某一类型的函数,包括参数类型和返回值类型
int x,y,z; //你原来的只能指向int fun()型,而max为int fun(int ,int )型
pmax=max;
printf("input two numbers:\n");
scanf("%d%d",&x,&y);
z=(*pmax)(x,y);
printf("maxmum=%d",z);
}

int(*pmax)()该函数的参数与max()函数不符,改为int(*pmax)(int a,int b);