#include<stdio.h>
int max(int a,int b)
{
int c;
if(a>b)
{
c=a;
}
else
{
c=b;
}
return(c);
}
int main()
{
int max(int a,int b);
int c;
int d;
int f;
int h;
printf("请输入三个整数");
scanf("%d",&c);
scanf("%d",&d);
scanf("%d",&f);
max(c,d);
h=max;
max(h,f);
h=max;
printf("max=%d",h);
return 0;
}
3 回答
已采纳
Camel97
TA贡献49条经验 获得超38个赞
哎。有啥好不信的。
max是你定义的一个函数。你用max(c,d);它会返回一个最大值。但是这个最大值你没有接收啊。
后面h=max;max只是你定义的函数在内存中的起始地址。只有函数名后面跟括号才是对这个函数的调用。前面调用得到返回值的时候你没接收相当于把这返回值扔了。后面h等于的是一个地址值(不过说真的你这个能编译过吗?一个函数的地址值赋值给一个int,中间又没有强制转换)能干什么用。
- 3 回答
- 1 关注
- 1861 浏览
添加回答
举报
0/150
提交
取消