qianhoupeng 发表于 2015-8-20 16:04:55

结果为什么是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);
}

gaoxian159753 发表于 2015-8-20 16:39:35

%d 换成 %f 就可以了 %d是输出整型的

yjip267 发表于 2015-8-20 16:53:27

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]
查看完整版本: 结果为什么是0啊?求解释,谢谢!