求三个数中的最大值

#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;
}
    

        
        

BITEyou
浏览 1847回答 3
3回答

Camel97

哎。有啥好不信的。max是你定义的一个函数。你用max(c,d);它会返回一个最大值。但是这个最大值你没有接收啊。后面h=max;max只是你定义的函数在内存中的起始地址。只有函数名后面跟括号才是对这个函数的调用。前面调用得到返回值的时候你没接收相当于把这返回值扔了。后面h等于的是一个地址值(不过说真的你这个能编译过吗?一个函数的地址值赋值给一个int,中间又没有强制转换)能干什么用。
打开App,查看更多内容
随时随地看视频慕课网APP