谁能告诉我为什么这个程序运行 的结果是错误的?
#include<stdio.h>intmax(intx,inty,intr){intz;if(x>y>r)z=x;if(y>x>r)z=y;if(r>x>y)z=r;i...
#include<stdio.h>
int max(int x,int y,int r)
{
int z;
if(x>y>r)
z=x;
if(y>x>r)
z=y;
if(r>x>y)
z=r;
if(x>r>y)
z=x;
if(y>r>x)
z=y;
if(r>y>x)
z=r;
return z;
}
void main()
{
int a,b,c,d;
printf("input a & b & c:%d\n");
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("%d%d%d中最大的整数是:%d\n",a,b,c,d);
这个程序错在哪里啊,各位高手帮帮我,我刚刚开始学 展开
int max(int x,int y,int r)
{
int z;
if(x>y>r)
z=x;
if(y>x>r)
z=y;
if(r>x>y)
z=r;
if(x>r>y)
z=x;
if(y>r>x)
z=y;
if(r>y>x)
z=r;
return z;
}
void main()
{
int a,b,c,d;
printf("input a & b & c:%d\n");
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("%d%d%d中最大的整数是:%d\n",a,b,c,d);
这个程序错在哪里啊,各位高手帮帮我,我刚刚开始学 展开
2个回答
展开全部
按照你的想法改了max函数:需要注意类似if(x>y>r)
这样的语句是数学表达式,代码是不能这么写的,应该是这样if(x>y && x>r)
int max(int x,int y,int r)
{
int z;
if(x>y && x>r)
z=x;
if(y>x && y>r)
z=y;
if(r>x && r>y)
z=r;
if(x>r && x>y)
z=x;
if(y>r && y>x)
z=y;
if(r>y && r>x)
z=r;
return z;
}
这样的语句是数学表达式,代码是不能这么写的,应该是这样if(x>y && x>r)
int max(int x,int y,int r)
{
int z;
if(x>y && x>r)
z=x;
if(y>x && y>r)
z=y;
if(r>x && r>y)
z=r;
if(x>r && x>y)
z=x;
if(y>r && y>x)
z=y;
if(r>y && r>x)
z=r;
return z;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询