C语言编写3个数比较大小

来源:百度知道 编辑:UC知道 时间:2024/09/02 00:28:39
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}

int max(int x,int y,int z)
{int m,n;
if(x>y) m=x;
else m=y;
if(m>z) n=m;
else n=z;
return (n);
}
该程序错在哪里,不管输入3个什么数,比较的结果都是输出第一个数。

代码没有问题,

不过你的输入没按照你自己scanf所设定的格式来

scanf("%d,%d,%d",&a,&b,&c);
这么写的话,你应该这么输入:
1,7,8(回车)
或者
2,5,3(回车)
别忘了逗号,也别忘了将3个数都输完再回车

如果这么写,
scanf("%d%d%d",&a,&b,&c);
就可以这么输入:
2(回车)
3(回车)
1(回车)

扩展资料

C语言编写3个数比较大小其他代码样例:

# include <stdio.h> //头文件
int max(int x,int y,int z); //声明子函数
void main()//主函数
<