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

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

首先,`scanf` 函数中变量地址的传递顺序有误,你写的是 `x1,x2,y1,y2`,但变量声明顺序是 `x1, y1, x2, y2`,这会导致输入值被错误地分配到变量中。

其次,`printf` 语句中直接输出了字符串 `"(x2-x1)² + (y2-y1)²"`,而不是计算出的数值结果。你需要先计算差值平方和,再输出这个数值。

- 检查 `scanf` 中变量前的 `&` 符号是否遗漏,并确认变量顺序与声明一致。
- 在 `printf` 中,应该输出一个数值表达式的结果,而不是固定的文本字符串。