*是取内容的意思,如果你swap()括号里面的是*p1 ,那么就是取了p1地址里面的值,按照题目的意思应该是传递的地址去改变地址里面的值,所以写的是p1而不是*p1;
集灵台二首·其二(张祜)
#include
int main(void)
{
int a,b,c,d,temp;
printf(" 请输入四个整数(数与数之间空格隔开):");
scanf("%d %d %d %d",&a,&b,&c,&d);
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a>c)
{
temp=a;
a=c;
c=temp;
}
if(a>d)
{
temp=a;
a=d;
d=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
if(b>d)
{
temp=b;
b=d;
d=temp;
}
if(c>d)
{
temp=c;
c=d;
d=temp;
}
printf(" 输入的四个整数从大到小排序:%d %d %d %d\n",d,c,b,a);
return 0;
}