#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條經(jīng)驗 獲得超38個贊
哎。有啥好不信的。
max是你定義的一個函數(shù)。你用max(c,d);它會返回一個最大值。但是這個最大值你沒有接收啊。
后面h=max;max只是你定義的函數(shù)在內(nèi)存中的起始地址。只有函數(shù)名后面跟括號才是對這個函數(shù)的調(diào)用。前面調(diào)用得到返回值的時候你沒接收相當(dāng)于把這返回值扔了。后面h等于的是一個地址值(不過說真的你這個能編譯過嗎?一個函數(shù)的地址值賦值給一個int,中間又沒有強制轉(zhuǎn)換)能干什么用。
- 3 回答
- 1 關(guān)注
- 1912 瀏覽
添加回答
舉報
0/150
提交
取消