C语言比较3个数大小

2024-11-15 10:19:06
推荐回答(5个)
回答1:

错误之一同楼上所述!
第二个错误是你程序中的or,C语言中没有这个关键字!!
逻辑运算中的or在程序设计中应表示为||,即“或”的意思,
另外逻辑运算符&&代表“且”,!代表“非”。
其实球最大值没必要那么麻烦,用三目运算符实现更简洁方便!

#include "stdio.h"
int max(int x,int y,int z)
{
int max;
max=x>y?x:y;
max=max>z?max:z;
return max;
}

void main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
}

回答2:

int max(int x,int y,int z)
{
int A;
if(x>y&&x>z) A=x;
if(y>x&&y>z); A=y;
if(z>x&&z>y); A=z;
return A;
}
void main()
{
int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",%d);
}
可以了。LZ的错误有三个,一个是MAX函数中if语句里并没有or这个表示符,可以使用||。还有main函数中的scanf语句里&a,&b&c少了一个逗号修改成&a,&b,&c即可。还有一个是printf("max=%d\n",d);这里",d)这部分中d前面应该加一个%。这样应该可以运行。

回答3:

x>y>z 不是这样表示的!应该是:if(x>y&&x>z) A=x;
其他的依次类推

回答4:

回答5:

if表达式少括号,紧跟后面多了分号。