求出最值,包括最大最小值
a[] 、&a[0]指的都是a[0]的地址,传进来的必须是地址,才能进行修改,因为函数只能返回一个值,所以要想接收多个值需要使用指针彻底改变他的地址从而改变它的值
#include <stdio.h>
void minmax(int a[],int len,int *max,int *min);
int main()
{
int a[]={1,2,3,4,6,8,1,9,56,645,4};
int min,max;
# 或者可以写成minmax(a[],sizeof(a)/sizeof(a[0]),&min,&max);
minmax(&a[0],sizeof(a)/sizeof(a[0]),&min,&max);
printf("min=%d,max=%d\n",min,max);
return 0;
}
void minmax(int a[],int len,int *min,int *max)
{
int i;
*min=*max=a[0];
for(i=0;i<len;i++)
{
if(a[i]<*min)
{
*min = a[i];
}
if(a[i]>*max) *max = a[i];
}
}