请大家帮看一下这个C程序,问题在哪??请详细说明一下!谢谢了!

来源:百度知道 编辑:UC知道 时间:2024/08/20 22:33:07
main()
{ float a,b;
int c;
scanf(“%f,%f”,&a,&b);
c=max(a,b);
printf(“max is %d\n”,c);
}
max(float x,float y) 输入:1.5,2.5
{ float z; 输出: max is 2
z=x>y?x:y; return(z);}

我给你修改了:

main()
{
float a,b;
int c;
int max(float, float);
scanf("%f%f",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
}
int max(float x,float y)
{
int z;
z=x>y?x:y;
return(z);
}

输入1.5 2.5
输出2

毕业好多年了,看到真是亲切,大概忘了,好像是变量定义的问题,a,b是浮点型变量,c是整型变量。在输出的时候%d是整型的。后面一部分什么东东啊,就看不懂了,你的表达有错误。
max(float x,float y) 输入:1.5,2.5
{ float z; 输出: max is 2
z=x>y?x:y; return(z);}

你的max返回的是float,输出是int型,就会自动帮你转类型。

main()
{ float a,b,c;
scanf(“%f,%f”,&a,&b);
c=max(a,b);
printf(“max is %f\n”,c);
}

或者

main()
{ float a,b;
scanf(“%f,%f”,&a,&b);
printf(“max is %f\n”,max(a,b));
}