例题 应用函数和指针,求一维数组中所有元素的平均值、最大值和最小值。
#include<stdio.h>
int main()
{float average(int b[10],int *p1,int *p2);//函数声明
int a[10]={23,5,98,45,53,75,42,64,58,19};
int max,min;
float aver;
aver=average(a,&max,&min);
printf("average=%f\n",aver);
printf("max=%d,min=%d\n",max,min);
return 0;
}
float average(int b[10],int *p1,int *p2)
{int i;
float aver,sum=0;
*p1=b[0];
*p2=b[0];
for(i=0;i<10;i++)
{if(*p1<b[i]) *p1=b[i];
if(*p2>b[i]) *p2=b[i];
sum+=b[i];
}
aver=sum/10;
return (aver);
}
注意:本程序直接用变量的地址作实参,并没有用指针变量作实参。
运行结果
p.s.不得不说,学校机房的XP太不好用了。。。。
下一篇 指针12 返回指针的函数