gpt4 book ai didi

c - 为什么 main() 函数不返回浮点值?

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:57 26 4
gpt4 key购买 nike

我正在用 C 编写一个程序,它应该在函数 averagerOfFiveFloats() 被调用后返回浮点值 3.2058。问题是当代码编译并且 IDE 打开可执行文件时,返回的值为 1067450368。为什么会这样?我确保变量类型是正确的,并且两个函数都有一个 float 返回类型。

程序在 main 函数中获取五个浮点值,然后在 main 中调用函数 averagerOfFiveFloats() 函数。 averagerOfFiveFloats() 函数获取五个浮点值,将它们相加,将总数除以 5,然后返回值。

这是我的代码:

#include <stdio.h>

float a, b, c, d, e;

float averagerOfFiveFloats(float num1, float num2, float num3, float num4,
float num5);

float main (void) {

a = 1.25;

b = 4.45;

c = 3.45;

d = 1.11;

e = 5.769;

return averagerOfFiveFloats(a, b, c, d, e);

}


float averagerOfFiveFloats(float num1, float num2, float num3, float num4,
float num5) {

float addition = 0;

addition = num1 + num2 + num3 + num4 + num5;

float divider = 0;

divider = addition / 5;

return divider;


}

最佳答案

您的代码的问题是您试图从 main 返回一个 float

main 函数只能返回一个int

相反,您可以将结果打印为

printf("%f", averagerOfFiveFloats(a, b, c, d, e));

这会产生正确的结果。

此外,您的数字的实际平均值不能是 16.029,因为所有数字都小于该数字。

关于c - 为什么 main() 函数不返回浮点值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46335588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com