糖心 发表于 2014-2-22 12:15:51

数组名作函数参数的问题

请前辈们帮忙看看这个程序的错误出在哪里
#include<stdio.h>
int main()
{
        double average(double array);
        double score,aver;
        int i;
        for(i=0;i<10;i++)
        {
                scanf("%f",&score);
        }
        aver=average(score);
        printf("平均成绩是%f",aver);
}
double average(double array)
{
        double v=0,temp;
        int i;
        for(i=0;i<10;i++)
        v=v+array;
        temp=v/10.0;
        return temp;
}

psw19911115 发表于 2014-2-22 14:14:19

我是初学者,,我觉得应该是形参中的数组长度不用指定吧,,

糖心 发表于 2014-2-22 14:33:37

我这几乎完全是对照书本改完的,怎么都不对,最后我把所有的double换成了float,就可以了,这是什么原因啊?:sweat:

_DEBUG 发表于 2014-2-22 14:52:02

本帖最后由 _DEBUG 于 2014-2-22 14:59 编辑

scanf("%f",&score);改成scanf("%lf",&score); 具体看scanf的格式说明就知道了

牡丹花下死做鬼 发表于 2014-2-22 14:54:57

double 的输出格式是%f啊 改成float 当然没错了啊

枫界易城 发表于 2014-2-22 15:04:52

在scanf中用%lf来表示要输入的是double型数据,而%f则输入float型的数据。

糖心 发表于 2014-2-22 16:10:29

多谢各位大神了,:handshake

未闻丶花名 发表于 2014-2-23 10:10:42

路过看看= =

凉石 发表于 2014-2-23 18:47:11

统一一下类型就ok了
页: [1]
查看完整版本: 数组名作函数参数的问题