一个c语言程序,里面一个错误,找不出啊
发布网友
发布时间:2024-02-02 15:19
我来回答
共3个回答
热心网友
时间:2024-08-14 17:30
改成这样,在我linux机器上好使了。
#include<stdio.h>
int max(int x,int y);
int main()
{
int(*p)(int , int);
int x,y,z;
p=max;
scanf("%d%d",&x,&y);
z=(*p)(x,y);
printf("\nx=%d,y=%d,max=%d", x, y,z);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return z;
}
热心网友
时间:2024-08-14 17:28
很显然,你的函数声明int max(int,int); 和下面的max(int x,int y)函数实现不一样,
要加上返回值,记得!!!
max(int x,int y) ——>int max(int x,int y)
返回的函数的指针也加上参数类型
int(*p)(); ——> int(*p)(int, int); //主函数第二行
改了再试试!
热心网友
时间:2024-08-14 17:24
你确定有错误?
#include<stdio.h>
int main()
{
int max(int, int);
int(*p)();
int x, y, z;
p=max;
scanf("%d%d",&x,&y);
z=(*p)(x, y);
printf("\nx=%d,y=%d,max=%d", x, y, z);
return 0;
}
int max(int x,int y)
{
return x>y?x:y;
}