【发布时间】:2016-07-24 07:56:33
【问题描述】:
当我使用函数时,我无法从数学方程中得到相同的结果。这是我的代码。
#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 和一般编码的新手,我卡住了。感谢任何可以帮助我的人。
【问题讨论】:
-
return value =(double) value/2;执行浮点除法,得到2.5,然后将值赋回带有截断的int,返回2。删除value =部分将提供预期的行为。 -
感谢您的回复。你写的对我来说很有意义。我能够让这个功能工作