#include <stdio.h>
int main()
{
float a,b,c,t;
scanf("%f %f %f",&a,&b,&c);
float change(float d,float e)
{
if(d>e)
{ t=d;
d=e;
e=t;}
return(d,e);
}
change(a,b);
change(a,c);
change(b,c);
printf("%g %g %g",c,b,a);
return 0;
}
输入55.2 62 22
应得到62 55.2 22
实际得到22 62 55.2
return(d,e); 只能返回一个值。供参考:
#include <stdio.h>
void change(float *d, float *e)//修改
{
float t;
if (*d < *e)//修改
{
t = *d;
*d = *e;
*e = t;
}
//return(d, e);//修改
}
int main()
{
float a, b, c;
scanf("%f %f %f", &a, &b, &c);
change(&a, &b);//修改
change(&a, &c);//修改
change(&b, &c);//修改
printf("%g %g %g", a, b, c);//修改
return 0;
}