c语言比较3个数的大小

来源:百度知道 编辑:UC知道 时间:2024/09/20 02:45:54
请高手告诉我哪里错了谢谢
#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d",&a,&b,&d);
c=max(a,b,d);
printf("max=%d\n",c);
}
int max(int x,int y,int z)
{
int u;
if(x>y && x>z) u=x;
if(y>x && y>z) u=y;
if(z>x && z>y) u=z;
return(u);
}

#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&d);
c=max(a,b,d);
printf("max=%d\n",c);
}
int max(int x,int y,int z)
{
int u;
if(x>y && x>z) u=x;
if(y>x && y>z) u=y;
if(z>x && z>y) u=z;
return(u);
}

scanf("%d,%d",&a,&b,&d); 改为scanf("%d,%d,%d",&a,&b,&d);

scanf("%d,%d",&a,&b,&d);
有三个参数怎么只有两个%d呢?加一个!

参数不够啊...

scanf("%d,%d",&a,&b,&d); 这里差一个%d

补充一下max函数中如果传入参数都相等,则u没有返回值
可以把u初始化一下

u=x;

:)

大家都好聪明啊

错的太多了.我帮你写个吧!
没有用调用函数的方式.
#include<stdio.h>
void main()
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if((a>=b&&b>c)||(a>=c&&c>b))
max=a;
else if((b>=a&&a>c)||(b>=c&&c>a))
max=b;
else