【发布时间】:2021-01-21 09:57:47
【问题描述】:
- 当我在 URI Online 判断上提交此代码时,他们会显示运行时 错误。我不知道运行时错误。请有人可以 解释一下
#include <stdio.h>
#include <math.h>
int main(int argc, char const *argv[])
{
double x1, y1, x2, y2, result;
scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2);
result = sqrt(pow(x2 - x1, 2) + pow(y2 - y1 , 2));
printf("%.4lf\n", result);
}
【问题讨论】:
-
在您的计算机上的真实环境中运行它以获得更好的错误消息。
-
很难说。只要您提供正确的输入,我看不出这会导致任何运行时错误。如果你传递的不是 4 个浮点数,那就麻烦了。
-
%lf的格式指定给double,给scanf(),给long double,给printf()。 -
@WeatherVane 也许在 Microsoft 领域,但不在 C 标准领域。
-
@IanAbbot 我看不出还有什么问题。并且
float可以传递到double由于类型提升而在可变参数函数中预期的位置