将最小的数与第一个数对换,把最大的数与最后一个数对换,貌似输出多了,大神指导一二

#include

void Show(int *brr)
{
for(;*brr != '\0';brr++)
{
printf("%d ",*brr);
}
printf("\n");
}

void Handle(int *arr,int len)
{
int min=0;
int max=0;
int tmp;
for(int i=0;i {
if(arr[min]>arr[i])
{
min=i;
}
}
tmp=arr[0];
arr[0]=arr[min];
arr[min]=tmp;
for(int i=0;i<len;i++)//把最大的数与最后一个数对换
{
if(arr[max]<arr[i])
{
max=i;
}
}
tmp=arr[len-1];
arr[len-1]=arr[max];
arr[max]=tmp;
Show(arr);
}

int main()
{
int arr[]={3,2,4,5,9,8,6,12,10,5};
Handle(arr,sizeof(arr)/sizeof(arr[0]));
}

这句话有问题:

    //void Show(int *brr)
    for(;*brr != '\0';brr++)

数组和字符串不一样,不会以\0作为结尾的。