Online Compiler C

#include <stdio.h> float middle(int a, int b) { float x=(a+b)/2.; return x;} int main() { printf("%lf\n", middle(2,4)); return 0; }
这段代码定义了一个函数 `middle`,它接收两个整数参数,计算它们的平均值并返回浮点数结果。在 `main` 函数中调用 `middle(2,4)` 并打印结果。

- 注意 `printf` 中使用的格式说明符 `%lf` 用于打印 `double` 类型,但你的函数返回的是 `float` 类型。虽然 `float` 可以自动转换为 `double` 传递给 `printf`,但更准确的写法是使用 `%f` 来打印 `float` 或 `double` 类型。
- 函数 `middle` 的返回值类型是 `float`,但计算时 `(a+b)/2.` 的结果是 `double` 类型(因为 `2.` 是 `double` 字面量),然后被隐式转换为 `float`。思考一下是否希望保持精度为 `double`,或者明确使用 `float` 字面量如 `2.0f`。