新手求教, 一个让我很晕的问题
这个程序的作用是: 输入三个整数,然后按从小到大的顺序输出。原代码是:
#include <stdio.h>
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}
void main()
{
int a,b,c,z,t,p;
int max(int x,int y);
int min(int x,int y);
printf("请输入三个数\n");
scanf("%d,%d,%d",&a,&b,&c);
t=max(a,max(b,c));
z=min(a,max(b,c));
if((a<b&&b<c)||(b<c&&b<a)) p=b;
if((b<a&&a<c)||(c<a&&a<b)) p=a;
if((a<c&&c<b)||(b<c&&c<a)) p=c;
printf("%d,%d,%d",z,p,t);
}
int min(int x,int y)
{
int z;
if(x<y) z=x;
else z=y;
return (z);
}
但运行时候有很奇怪的问题:
① 输入:1,2,3 结果:1,2,3 正确结果
② 输入:2,1,3 结果: 2,2,3 错误结果
③ 输入:3,2,1 结果: 2,187,3 错的离谱
不知道什么````
IDE:WIN-TC
谨请指教
谢谢