求教,下列程序想输出第K大的数,为什么不对啊
#include <iostream.h>int which(int *a,int n,int k)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=i;j<n;j++)
{
if(a[j]>a[i])
{
a[j]=temp;a[j]=a[i];a[i]=temp;
}
}
return a[k];
}
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i;
cout<<"第K大的为"<<which(a,10,5)<<endl;
}
#结果始终显示第K大的数为-858993460