這是我在C中的第一個程序。當我運行這個斜邊它發現是巨大的。我輸入A和B作爲2,輸出是130899047838401965660347085857614698509581032940206478883553280.000000
。我做錯了什麼?C程序找到斜邊,斜邊發現太大
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int die(const char *msg);
double hypotenuse(double side0, double side1);
int main()
{
double a, b, c;
printf("Enter side A: ");
if (scanf_s("%1f", &a) != 1)
die("input failure");
printf("Enter side B: ");
if (scanf_s("%1f", &b) != 1)
die("input failure");
c = hypotenuse(a, b);
printf("The hypotenuse is %f\n ", c);
}
int die(const char *msg)
{
printf("Fatal Error: %s\n", msg);
exit(1);
}
double hypotenuse(double side0, double side1)
{
return sqrt((side0 * side0) + (side1 * side1));
}
啓用編譯器警告。 – tkausl
'「%1f」' - >''%lf「' – BLUEPIXY
看起來您的'scanf_s()'字段指令不正確。與'double'指針相對應的指令應該是'%lf'(帶小寫字母的ell),但是您已經使用了'%1f'(帶有數字1)。 –