c语言新人 请高手帮忙解疑~
关于排序的问题:main()
{
int i,j,min,temp,a[6];
printf("enter data:\n");
for(i=1;i<=5;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
for(i=1;i<=5;i++)
printf("%5d",a[i]);
printf("\n");
for(i=1;i<=4;i++)
{min=i;
for(j=i+1;j<=5;j++)
if(a[min]>a[j])
min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
/* temp=a[min];
a[min]=a[j];
a[j]=temp; */ }
printf("\n the sorted numbers: \n");
for(i=1;i<=5;i++)
printf("%5d",a[i]) ;
getch();
}
为什么不能写成:
main()
{
int i,j,min,temp,a[6];
printf("enter data:\n");
for(i=1;i<=5;i++)
{printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
for(i=1;i<=5;i++)
printf("%5d",a[i]);
printf("\n");
for(i=1;i<=4;i++)
{min=i;
for(j=i+1;j<=5;j++)
if(a[min]>a[j])
temp=a[i];
a[i]=a[j];
a[j]=temp; }
printf("\n the sorted numbers: \n");
for(i=1;i<=5;i++)
printf("%5d",a[i]) ;
getch();
}
为什么不可以直接交换?~