C语言:比较大小 使用函数返回值

看看,哪里有问题,谢谢!
#include<stdio.h>
int main()
{
float a,b;
int m;
int max(float,float);
scanf("%f,%f",&a,&b);
m=max(a,b);
printf("%d",m);

}

int max(float x,float y)
{
float n;
n=x>y ?x:y;
return n;
}

c/c++ 在使用函数(变量等)必须先定义使用。

max 函数在 main 之后,所以出现函数为定义错误,解决方法:

     将 max 函数定义放在 函数在 main 之前。

     函数在 main 之前添加 max 函数的前视声明:int max(float x,float y);

    另外,数据类型不一致,最好改成一致。

修改如下:

 

#include<stdio.h>

 

float max(float,float); //前视声明放在这里,不要放在函数体中


int main()
{
float a,b;

float m;


scanf("%f,%f",&a,&b);
m=max(a,b);
printf("%f",m);
}

float max(float x,float y)
{
float n;
n=x>y ?x:y;
return n;
}

追问

追答

输入 2,3 时,中间的逗号是西文的吗。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-18
#include<stdio.h>
int main()
{
float a,b;
float m;
float max(float,float);//float
scanf("%f,%f",&a,&b);
m=max(a,b);
printf("%f",m);
return 0;
}

float max(float x,float y)
{
float n;
n=x>y ?x:y;
return n;
}

类型混乱,用浮点数要都用,弄个int返值做什么。

第2个回答  推荐于2017-09-26
代码是对的,但是你测试样例

如2,3 //中间必须是逗号本回答被提问者采纳
相似回答