gpt4 book ai didi

C 在函数中将 int 转换为 double

转载 作者:太空宇宙 更新时间:2023-11-04 08:14:50 25 4
gpt4 key购买 nike

当我使用函数时,我无法从数学方程得到相同的结果。这是我的代码。

#include <stdio.h>
int main ()
{
int a=5, b=2;
double c;
c = (double) a/b;
printf("%f\n", c);

c = Divide(a);
printf("%f\n", c);

return 0;
}

int Divide(int value)
{
return value =(double) value/2;
}

当我运行代码时,我得到:

2.500000
2.000000

我想为两者都获得 2.50000。我尝试将功能更改为

double Divide(double value)

运气不好。我是 C 和一般编码的新手,我被卡住了。感谢任何能帮助我的人。

最佳答案

您有两个问题:第一个与函数返回类型有关,返回 int 将始终截断浮点值。

第二个问题是你不返回除法的结果,你返回变量value赋值后的值,因为value是一个整数,您将返回截断后的值。将赋值放回给它:return (double) value/2;

关于C 在函数中将 int 转换为 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36408350/

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