求三个整数最大值,C语言编写使用max函数
#include<stdio.h>intmain(){intmax(intx,inty,intz);inta,b,c,d;scanf("%d,%d,%d",&a,&b,&...
#include<stdio.h>
int main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
int w;
if(x>y>z)
{
w=x;
}
else
{
if(y>x>z)
{
w=y;
}
else
{
w=z;
}
}
return (w);
}
这个代码运行只能是输出第三个值,为什么错在哪了? 展开
int main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
int w;
if(x>y>z)
{
w=x;
}
else
{
if(y>x>z)
{
w=y;
}
else
{
w=z;
}
}
return (w);
}
这个代码运行只能是输出第三个值,为什么错在哪了? 展开
2个回答
展开全部
改正后的:
#include<stdio.h>
int main(){
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int z){
int w;
if(x>y&&x>z){
w=x;}
else{
if(y>x&&y>z){
w=y;
}else{
w=z;
}
}
return w;
}
优化后的:
#include<stdio.h>
int main(){
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int z){
if(x>y&&x>z) return x;
if(y>x&&y>z) return y;
return z;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询