指针,地址等取值问题
毕业设计
1
以上是已经完成的代码,想请教一下各位小伙伴一个问题,这个程序运行之后,aver是有值的,那么,为什么这个代码能将*f的值赋给aver? 全程看不到任何能将将它俩联系的代码,感觉很奇怪 还请各位小伙伴指教
#include<stdio.h>
int fun(int a[], int n, float* f)
{
/**/
int i,y=0;
for (i = 0; i < n; i++)*f += a[i];
*f = *f / n;
for (i = 0; i < n; i++)
{
if (a[i] > *f)
y++;
}
return (y);
/**/
}
int main()
{
int a[] = { 23,40,8,32,18,2,9,16,27 };
int i, k = sizeof(a) / sizeof(int), count = 0;
float aver = 0.0;
count = fun(a, k, &aver);
printf("aver is %f, count is %d\n", aver, count);
return 0;
}
发表回复