在线编译器 C

#include <stdio.h> int main() { int x1, y1, x2, y2; scanf("%d %d %d %d", &x1, &y1, &x2 & y2); double dx = x2 - x1; double dy = y2 - y1; double dist = sqrt(dx * dx + dy * dy); printf("%.2f", dist); return 0; }
这段代码试图计算两个点 (x1,y1) 和 (x2,y2) 之间的欧几里得距离,并保留两位小数输出。但代码中存在两个问题。

- 在 `scanf` 中,`&x2 & y2` 缺少了逗号,应该写成 `&x2, &y2`。缺少逗号会导致编译错误或未定义行为。
- 使用了 `sqrt` 函数,但没有包含 `<math.h>` 头文件。需要在文件开头添加 `#include <math.h>`,否则编译器会找不到 `sqrt` 的定义。