结果为什么是0啊?求解释,谢谢!
#include <stdio.h>float average(float *p,int n);
void main()
{
float score = {67,72,80,91};
printf("%d\n",average(score,4));
}
float average(float *p,int n)
{
float *v,sum =0,ave;
for(v=p;v < p + n;v++)
sum = sum+*v;
ave = sum/n;
return (ave);
}
%d 换成 %f 就可以了 %d是输出整型的 v < p + n;p+n已溢出了。这个可能与编译器有关吧。
float average(float *p,int n)
{
float sum =0;
for(int i=0;i<n,++i)
{
sum+= p;
}
return sum/n;
}
页:
[1]