Онлайн компилятор C

#include <stdio.h> #include <math.h> int main() { int a,b,c,d; float M; scanf("%d%d%d%d",&a,&b,&c,&d); M=sqrt((a-c)*(a-c)+(b-d)*(b-d)) scanf("%.2f",M); return 0; }
这段代码试图计算两个点 (a,b) 和 (c,d) 之间的距离,并输出结果。但代码中存在几个问题。

- 第7行缺少分号,导致编译错误。
- 第8行使用 `scanf` 来输出结果,但 `scanf` 是用于输入的函数,输出应该用 `printf`。
- 第8行中 `scanf` 的格式字符串 `"%.2f"` 是输出格式,不适用于输入,而且变量 `M` 前缺少取地址符 `&`。

- 检查第7行末尾是否缺少分号。
- 思考输出结果应该使用哪个函数,以及如何正确格式化输出浮点数。