调用函数使得最大的和最后一个交换,最小的和第一个交换
#include<stdio.h>
int main()
{
int a[10]={2,7,15,1,3,5,0,10,8,6};
int *max,*min,i;
void swap(int *x,int *y);
min=max=a;//对两个指针进行初始化,定义两个最大值和最小值,避免成为没有对象的野指针;
for(i=1;i<10;i++)
{
if(*max<a[i])//数值之间比较
max=&a[i];//交换两个数的地址
if(*min>a[i])
min=&a[i];
}
swap(max,&a[9]);//传递两个地址过去
swap(min,&a[0]);
printf("交换后的结果是:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
return 0;
}
void swap(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}