我在c中编写一个简单的函数,它将返回2个浮点值的中间值.
我的功能看起来像这样:
float mid(float a, float b) {
return (a + b)*0.5;
}
Run Code Online (Sandbox Code Playgroud)
问题是这个函数总是会产生0.000000.我通过使用以下方式检查:
printf("%f", mid(2,5))
Run Code Online (Sandbox Code Playgroud)
这将打印0.000000.
但是,如果我这样做:
printf("%f", (2+5)*0.5)
Run Code Online (Sandbox Code Playgroud)
这将打印3.5,这是正确的.
我该如何解决这个问题?
有谁知道如何安装C语言或在DrRacket中启用它?
我已经安装了C包,但每次运行程序时都会出错.
错误是:
..\..\Program Files\Racket\collects\racket\system.rkt:181:19:
system*: contract violation
expected: path-string? given: #f
Run Code Online (Sandbox Code Playgroud)