加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C:为什么我的函数返回0值?

发布时间:2020-12-16 10:40:54 所属栏目:百科 来源:网络整理
导读:我有一个短程序,它应该将一个浮点值数组传递给三个不同的函数,以返回总和,平均值和最小值.我无法弄清楚为什么函数返回0值(或者我错误地传递了数组?) 我敢肯定我错过了一些简单而基本的东西,但一直盯着这个太长时间,真的看不出有什么不对. 感谢任何输入. #in
我有一个短程序,它应该将一个浮点值数组传递给三个不同的函数,以返回总和,平均值和最小值.我无法弄清楚为什么函数返回0值(或者我错误地传递了数组?)

我敢肯定我错过了一些简单而基本的东西,但一直盯着这个太长时间,真的看不出有什么不对.

感谢任何输入.

#include <stdio.h>
#define NUM 5


float array_sum (float arr[]);
float array_avg (float arr[]);
float array_min (float arr[]);

int main ()
{
    float array_nums[NUM] = {1.23,4.56,7.89,10.1,2.34};
    float arr_sum;
    float arr_avg;
    float arr_min;

    arr_sum = array_sum(array_nums);
    arr_avg = array_avg(array_nums);
    arr_min = array_min(array_nums);

    printf("nThe sum of the elements in the array is %f.n"),arr_sum;
    printf("The average of the elements in the array is %f.n"),arr_avg;
    printf("The smallest value in the array is %f.nn"),arr_min;

return (0);
}

float array_sum (float arr[])
{
    float sum = 0;
    int i;

    for (i = 0; i < NUM; i++)
    {
        sum += arr[i];
    }

return (sum);
}

float array_avg (float arr[])
{

    int i;
    float avg;
    float sum = 0;

    for (i = 0; i < NUM; ++i)
    {
        sum += arr[i];
    }

    avg = sum/NUM;

return (avg);
}

float array_min (float arr[])
{
    int i;
    float min = arr[0];

    for (i=0; i < NUM; ++i)
    {
        if (arr[i] < min)
        {
            min = arr[i];
        }
    }

return (min);
}

解决方法

你的printfs在函数之外有参数:

printf("nThe sum of the elements in the array is %f.n"),arr_sum;
                                                        ^ end of arguments

应该

printf("nThe sum of the elements in the array is %f.n",arr_sum);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读