当前位置 : 首页 >要闻 > 正文

double222(double2)

2023-08-01 09:07:21 转载出处:互联网

首先纠正一个错误,在C语言中是没有这个运算符的。 符号一般用来做换行标记或者作为转义字符标识。用在这里的是/,代表除法操作。

也就是说,(double)(3/2);


(相关资料图)

这里应用到如下几个知识点。

1 数值常量的默认类型。

在没有特殊标识情况下,整型的数值常量,如题目中的3和2,都会默认为int型。

2 整型的除法。

对于整型之间的运算,包括加减乘除模除等,结果都同样是整型值。

在这里是int/int=int,而除法得到的小数部分,会被无条件舍去,注意是舍去而不是四舍五入。

所以3/2=1

3类型的强制转换。

当int型转为double型时,小数部分置为0。

综上,这个表达式的值就是一个双精度浮点型(double)的1.0。

可以以如下程序验证:

#includeint main() { printf("%lf", (double)(3/2)); return 0; }对于%lf格式,默认输出6位小数,所以输出: 1.000000

本文到此讲解完毕了,希望对大家有帮助。

标签:

相关阅读
最近更新
参与评论