leihen0218 发表于 2018-6-5 10:10:29

数组和函数求高手指点

#include <stdio.h>

int average(int b);

void main()
{
        int a = {10, 54, 59, 98, 85, 65, 99, 100, 6, 66};
        int k;

        k = average(a);
        printf("平均数是%d\n",k);
}

int average(int b)
{
        int i, sum = 0;
        int z;

        for(i=0; i < 9; i++)
        {
                sum = b + sum;

        }
        z = sum / 10;

        return z;
}

这个程序求出来的结果为什么不对,算出来是一个特特大的数字,求指点

BngThea 发表于 2018-6-5 10:31:21

把average函数的形参改为
int average(int b[], int len)
调用函数时无法只使用一个形参传递数组及其长度,因为数组传递传的是地址

leihen0218 发表于 2018-6-5 10:32:10

BngThea 发表于 2018-6-5 10:31
把average函数的形参改为
int average(int b[], int len)
调用函数时无法只使用一个形参传递数组及其长度 ...

谢谢
页: [1]
查看完整版本: 数组和函数求高手指点