|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我在做max函数练习时,运行结果最后显示了一个最小值
结果展示:
input 3 number:
10 11 12
max=10
我苦思不得其解,希望大家帮忙指出其中问题,感激不尽!
源代码:
#include<stdio.h>
//主函数
int main()
{
printf("%s\n","input 3 number:");
int max(int x, int y, int z);
int a, b, c, d;
scanf_s("%d,%d,%d", &a, &b, &c);
d = max(a, b, c);
printf("max=%d\n", d);
return 0;
}
int max(int x, int y, int z)
{
int p;
if (x > y)p=x;
else
{
if (y > z)p=y;
else p=z;
}
return(p);
}
你这个程序当x<y时可以成功运行
但如果x>y的话,直接返回p = x,不会让p与z比较大小了 - #include<stdio.h>
- //主函数
- int main()
- {
- printf("%s\n","input 3 number:");
- 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("max=%d\n", d);
- return 0;
- }
- int max(int x, int y, int z)
- {
- int p;
- if (x > y)
- {
- p=x;
- }
- else
- {
- p = y;
- }
- if(p < z)
- {
- p = z;
- }
- return(p);
- }
复制代码
|
|