#include<stdio.h>
int main()
#define num 5
{int i;
int a[num];
for(i=0;i<num;i++)
{printf("a[%d]是",i);
scanf("%d",&a[i]);
}
int j,m;
for(i=0;i<num;i++){
for(j=i;j<num;j++){
if(a[i]<a[j]) {m=a[i];
a[i]=a[j];
a[j]=m;}
}
}
printf("\n");
for(i=0;i<num;i++)
printf("a[%d]是%d\n",i,a[i]);
}
这里的引参m起到了转化作用,如果不引入参数m,
如图,会出现如下结果
,
解释如下:
未引入参数m,每一次的a[j]不会交换,不变。