在线编译器 C

#include<stdio.h> int main() { int x1, y1, x2, y2; int res; scanf("%d%d%d%d",&x1,&x2,&y1,&y2); res=(x2-x1)² + (y2-y1)²; printf("%d%d%d%d",x1,x2,y1,y2); return res; }
这段代码试图计算两点间距离的平方,但存在几个问题。

- 输入顺序有误:`scanf` 中变量顺序是 `x1, x2, y1, y2`,但通常输入时应该先读 `x1, y1` 再读 `x2, y2`,这里顺序不对会导致坐标配对错误。
- 平方运算写法错误:C语言中没有 `²` 运算符,不能直接写 `(x2-x1)²`,需要使用乘法或 `pow` 函数。
- 输出内容错误:`printf` 打印的是原始坐标值,而不是计算结果 `res`。
- 返回值含义错误:`return res` 返回的是计算结果,但程序正常结束应返回0。

- 检查 `scanf` 中变量的顺序是否与输入数据的顺序一致。
- 平方运算在C中要写成 `(x2-x1)*(x2-x1)` 的形式。