本帖最后由 TAOGLA 于 2022-9-3 14:15 编辑
刚学C语言,做《C程序设计(第五版)》里的习题是碰到了这样一个问题:
编写一个C程序,运行时输入a,b,c三个值,输出其中值最大者。
我就开始动手编写,源码如下:
[C++] 纯文本查看 复制代码 #include<stdio.h>
#include<stdlib.h>
int main()
{
int max(int x, int y, int z);
int a, b, c, d;
printf("请输入第1个数字:\n");
scanf_s("%d", &a);
printf("请输入第2个数字:\n");
scanf_s("%d", &b);
printf("请输入第3个数字:\n");
scanf_s("%d", &c);
d = max(a, b, c);
printf("max=%d\n", d);
system("pause");
return 0;
}
int max(int x, int y, int z)
{
int m;
if (x>y&&y>z)
m = x;
else
if (y>z)
m = y;
else
m = z;
return(m);
}
我从网上找到了&&是逻辑与的意思
我也知道这种判断有很多种路可以走
主要是想知道哪里出了问题,每当我依次输入诸如8,4,6之类的值时,程序并不会输出8!
如图:
提前感谢各位大佬解答~
其实就是如何达到判断x>y>z的效果 |