C语言通过指针间接的实现函数返回多个值
本例题中通过把指针作为函数参数来传递,依次达到改变变量的值的目的,最后实现一个函数返回两个变量的值
int *X,*X应该被看成一个整体来看,表示一个整形。
#include<stdio.h>
void minmax(int a[],int length,int *max,int *min);
int main(void){
int a[]={1,3,5,7,2,1,67,3,2,4};
int length=sizeof(a)/sizeof(a[0]);
int min,max;
minmax(a,length,&max,&min);
printf("min=%d,max=%d\n",min,max);
return 0;
}
void minmax(int a[],int length,int *max,int *min)
{
int i;
*min=*max=a[0];
for(i=0;i<length;i++)
{
if(a[i]<*min)
{
*min=a[i];
}
if(a[i]>*max){
*max=a[i];
}
}
}