C中的新手 - 错误的返回类型

时间:2016-11-20 21:53:37

标签: c

我使用C

中的指针有类似的功能
float *compute_avg(float *array, int num_elements) {
  float sum = 0.f;
  int i;
  for (i = 0; i < num_elements; i++) {
    sum += array[i];
  }
  return sum;
}

但是发生错误“返回值类型与函数类型不匹配”。

1 个答案:

答案 0 :(得分:1)

这是因为您的函数返回float,并且您尝试返回*。您只需删除float compute_avg(float *array, int num_elements)即可将第一行更改为*sum += array[i];

您也可以将sum声明为float *,然后将malloc内存声明为它。然后你应该使用free,但请记得稍后Identifier