为什么我们要在乘法中加一个点才能 运行 程序?

Why did we add a dot in multiplication in order to run the program?

我正在编写一个计算二次方程根的程序。当我第一次编写代码时,我没有在 x 方程式中的 4 和 2 之后键入一个点,但它不起作用!那么这个点在这里代表什么,我应该什么时候使用它?

#include<stdio.h>
#include<conio.h>
#include<math.h>

int main()
{
   int a, b, c;
   double x;
   scanf("%d %d %d", &a, &b, &c); 

   x = (-b + sqrt(b*b-4.*a*c) ) / (2.*a);

   printf("%lf", x);
   getch();

   return 0;
}

4.4.0

小数点使它成为浮点数而不是整数。

更重要的文字是 2.,因为没有它你会得到整数除法(在大多数情况下,结果是错误的)。

整数文字被编译器解释为整数,这意味着如果所有操作数都是整数,则除法等运算将以整数形式执行。小数点使其成为浮动文字,这意味着编译器将改用操作的浮动形式。