求问算术
#include<stdio.h>void main()
{
int a=4,b=5,c=6;
float x=1.5,y=-1;
printf("%f\n", b/a*(double)a/b);
}
这个式子里b/a*(double)a/b
double 是2的意思? 本帖最后由 jackz007 于 2020-12-12 21:24 编辑
(double)a/b
double 是一种数据类型,叫双精度浮点数,a / b 的结果本来是整型数 0,但是,现在有了前面的这个 (double) 就会使这个结果变成双精度浮点数,其结果就不再是整型数 0,而是双精度浮点数 0.8。
于是
b / a = 5 / 4 = 1
b / a * (double) a / b = 1 * 0.8 = 0.8
(double)是强制转换类型,把int型改成 双精度浮点数
页:
[1]