Онлайн компилятор 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("res=%d%d%d%d",x1,y1,x2,y2); return 0; }
这段代码试图计算两点之间的距离平方,但存在几个问题。

- 代码中使用了 `²` 符号,这在C语言中不是合法的运算符,无法计算平方。C语言没有内置的平方运算符,你需要用乘法表达式来实现平方。
- `scanf` 的格式字符串与变量顺序不匹配:你写的是 `%d%d%d%d` 对应 `x1, x2, y1, y2`,但通常输入顺序应该是 `x1, y1, x2, y2`,这会导致读入的值错位。
- `printf` 输出了四个变量的值,而不是计算结果 `res`,并且格式字符串中缺少换行或空格,输出会连在一起。

- 检查平方的计算方式,用 `(x2-x1)*(x2-x1)` 代替 `(x2-x1)²`。
- 检查 `scanf` 中变量的顺序是否与你想让用户输入的顺序一致,并确保 `printf` 输出的是 `res` 而不是其他变量。