【发布时间】:2017-03-21 08:25:35
【问题描述】:
#include <stdio.h>
void average(float age[]);
int main(void)
{
float *p;
float avg = 0.0;
float age[] = { 23.4, 55, 22.6, 3, 40.5, 18 };
p = &age[0];
avg = average(age);
printf("\n\nAverage age = %.2f\n\n\n", avg);
return 0; // this should return the average age from the void average() function
}
void average(float age[])
{
float *p;
p = &age[0];
int i = 0;
float avg = 0.0 , sum = 0.0;
for (i = 0; i < 6; ++i)
{
sum += *(p+i);
}
avg = (sum / 6);
//return avg; // this should be a return 0 (to go with the void)
}
您好,我对 C 语言非常陌生,我应该将函数“平均”设置为 void,然后在 main 中输出所有内容。我不知道该怎么做,我尝试的一切都会出错。如果可能的话,我想在不创建另一个函数的情况下这样做。
【问题讨论】:
-
有什么错误?
-
void没有返回任何值,但您正试图将其分配给avg.. -
void average(float age[])-->void average(float age[], float *return_value) -
"...这应该是返回 0(与 void 一起使用)"?
return 0不与void搭配使用。你是从哪里得到这个想法的? -
相信我的话; C 不是一种反复试验的语言。该短语的“错误”部分将永远让您感到无休止的挫败感。 Get a good book 并花钱学习语言。