#include
int main()
{
int a,b,c,d,e;
printf("请输入4个整数:");
scanf("%d%d%d%d",&a,&b,&c,&d);
int max(int x,int y);
e=max(max(a,b),max(c,d));
printf("由大到小输出为:%d %d %d %d\n",a,b,c,d);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)
{
z=x;
}
else
z=y;
return z;
}
#include<stdio.h>
int a,b,c,d;
int main()
{
int e[4];
printf("请输入4个整数:");
scanf("%d%d%d%d",&a,&b,&c,&d);
int max(int x,int y);
void dropMax(int max);
for(int i=0;i<4;i++)
{
e[i]=max(max(a,b),max(c,d));
dropMax(e[i]);
}
printf("由大到小输出为:%d %d %d %d\n",e[0],e[1],e[2],e[3]);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)
{
z=x;
}
else
z=y;
return z;
}
void dropMax(int max)
{
if(max == a)
{
a=0;
}
else if(max == b)
{
b=0;
}
else if(max == c)
{
c=0;
}
else if(max == d)
{
d=0;
}
}
你在函数里面并没有修改了它的值,只是修改形参,要用指针才行