所以我很困惑为什么我的代码不起作用。我有两个函数,一个将数字相加,另一个获取平均值。想着不妨在average函数中调用add函数来多省几行代码,就尝试了一下。
此外,它们都有一个数组作为参数。该数组的大小为 5,并设置为浮点型。
float addOp(float num[])
{
int i;
float ans;
for(i=0;i<5;i++)
{
ans += num[i];
}
return ans;
}
float aveOp(float num[])
{
float average;
average = addOp(num) / 5;
return average;
}
add 函数工作得很好,但是当我尝试使用average 函数时,代码会运行,但它给出的答案却相差甚远。我认为 C 不允许在后续函数中传递数组,但我不太确定。对我做错了什么有什么想法吗?
最佳答案
问题是addOp()
float addOp(float num[])
{
int i;
float ans; /* This is uninitialized */
for(i=0;i<5;i++)
{
ans += num[i]; /* This adds an undefined start point to the 5 numbers*/
}
return ans;
}
解决方法是更改为
float ans = 0;
关于c - 将函数的数组参数传递给前一个函数中使用的另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53465757/