还可以这样,用个中间变量来交换a[i]和a[j] 元素下标
#include<stdio.h>
int swap(int *m,int *n)
{
int temp;
temp=*m;
*m=*n;
*n=temp;
}
main()
{
int a[3],i,j,k;
printf("Please enter three numbers:\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
{ k=i;
for(j=i+1;j<3;j++)
if(a[j]>a[k])
k=j;
swap(&a[i],&a[k]); }
for(i=0;i<3;i++)
printf("%d,",a[i]);
getch();}