初学者求助大神
输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。#include"stdio.h"
void change(int *x,int y);
int main()
{
int m,n,i,a[10];
while(scanf("%d",&n)&&(n!=0))
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
change(a,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);}
return 0;
}
void change(int *x,int y)
{
int tmp,temp,*min=x,*p=x,*max=x;
for(;x<p+y;x++)
{ if(*min>*x)
min=x;}
temp=*p;
*p=*min;
*min=temp;
}
1】这个代码的指针看不懂 麻烦大神帮我解释一下 2】如果不用指针写 那应该怎样改?
[此贴子已经被作者于2016-11-8 16:39编辑过]