选择排序出错,怎么回事?
#include<stdio.h>select_sort(int arry[],int maxsize)
{
int *mov_ptr=&arry;
int i,j;
int tmp;
for(i=0;i<maxsize;i++)
for(j=i+1;j<maxsize;j++)
{
if(*mov_ptr > arry)
{
tmp=*mov_ptr;
*mov_ptr=arry;
arry=tmp;
}
arry=*mov_ptr;
mov_ptr=&arry;
}
}
void main() {
int i,j,arry={9,8,7,6,5,4,3,2,1,0};
for(i=0;i<10;i++)
printf("%d ",arry);
printf("\n"),select_sort(arry,10);
for(j=0;j<10;j++)
printf("%d ",arry);
}
请问楼主这条语句是干嘛用的哟? arry=*mov_ptr;
//arry=*mov_ptr;
mov_ptr=&arry;这是我在楼主基础上改的,能运行出正确的答案。
小亮:
那是扫描完一次后,记录值;i=0时,a【0】-- 扫描后记录的最小值;{:1_1:} 谢谢,是我想错了,扫完后要重置指针置错了;感恩无私的分享与奉献 :):D
页:
[1]