在线编译器 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)*(x2-x1) + (y2-y1)*(y2-y1); printf("res=%d%d%d%d",x1,y1,x2,y2); return 0; }
这段代码试图计算两个点之间的距离平方,但存在几个问题。

首先,`scanf` 中变量的顺序与输入格式不匹配。你声明了 `x1, y1, x2, y2`,但 `scanf` 中写的是 `&x1, &x2, &y1, &y2`,这会导致输入的值被错误地分配到变量中。

其次,`printf` 输出的是四个变量的值,而不是计算结果 `res`。你计算了 `res`,但并没有输出它。

- 检查 `scanf` 中变量地址的顺序是否与你想输入的坐标顺序一致。
- 确认 `printf` 中应该输出哪个变量,以及输出格式是否正确。