在线编译器 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)); printf("%.2f",M); return 0; }
这段代码的功能是计算二维平面上两个点之间的距离。它从输入读取四个整数,分别代表第一个点的坐标 (a, b) 和第二个点的坐标 (c, d),然后使用欧几里得距离公式计算距离,最后保留两位小数输出。

- 第6行 `scanf` 的末尾多了一个逗号,这会导致语法错误。检查一下 `scanf` 的参数列表格式,确保没有多余的符号。
- 变量 `M` 被声明为 `float` 类型,但 `sqrt` 函数返回 `double` 类型,并且计算结果可能超出 `float` 的精度范围。考虑使用 `double` 类型来存储距离结果。