【新手】关于数组的问题,暂时还没想清楚,请教大家一下。
程序代码:
#include<stdio.h> #include<stdlib.h> void main() { int min,i,j,k,a[5],temp; printf("Enter 5 numbers:\n"); for(i=0;i<5;i++) scanf("%d",&a[i]); for(i=0;i<4;i++) { k=i+1; min=i; for(j=k;j<5;j++) if(a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("The sorted numbers:\n"); for(i=0;i<5;i++) printf("%d,",a[i]); system("pause"); }
这是书上的例题答案。输入50 40 30 20 10的时候,输出10 20 30 40 50.我自己不看书编的时候把min=j写成了a[min]=a[j]结果输出是一串10 10 10 10 10 10。我也不知道问题出在哪里。是不是a[min]=a[j]和min=j有着完全不同的含义啊?求高手点拨一下。