c - 返回平均值、最大值、最小值的 Void 函数,并以数组和输入数量作为参数

标签 c void

所以我试图创建一个程序,从 void 函数返回平均值、最小值和最大值。我真的看不出代码有什么问题,我希望有人可以提供帮助。编译器没有发现任何错误或警告,但当我运行程序时,我得到“进程已退出,返回值 3221225477”。 问题似乎出在我创建的函数中。 提前致谢。

    void emporeuma(double array[], int plithos, double* avg, double* max, 
    double* min, int* plit)
    {
    int j;
    double sum;
    avg=0;
    sum=0;
   *plit=plithos;
    for(j=0;j<plithos-1;j++){

     sum=sum + array[j];
        }
    *avg=sum/plithos;
     *min=array[0];
     *max=array[0];
     for(j=1;j<plithos-1;j++)
     {
       if (array[j]>*max)
        {
          array[j]=*max;
           }

       if (array[j]<*min)
        {
        array[j]=*min;
         }

         }

最佳答案

    avg=0;
    ...
    *avg=sum/plithos;

使你的程序崩溃。您可能想要编写*avg = 0

关于c - 返回平均值、最大值、最小值的 Void 函数,并以数组和输入数量作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55715794/

相关文章:

c - Malloc 重新分配免费

c++ - C/C++ : Size of builtin types for various compilers/platforms

函数声明返回任何东西,也无效?

c++ - 将 void 函数转换为 char* C++

c++ - 回到 C++,带指针的 void 函数,如何制作 get 函数

c - stat 系统调用的 st_mode 标志

c - 数组元素是 C 中字符串数组中的变量

c - 为什么 if(1/10) 和 if(0.1) 有不同的值?

c - 为什么没有参数的函数(与实际函数定义相比)可以编译?

c - (void *)pointer 和 &pointer 的区别?