开云手机站登录入口平台介绍 - 开云手机站登录入口

6个月前 (05-28)

因为sqrt函数的声明为

double sqrt(double x);

而你的表达式是18/4*sqrt(4.0)/8,

其中18,4,8这几个数是整型,而sqrt(4.0)返回的是double型,根据C语言中的转换法则(PS:这个相信你也清楚,我就不多说了)。 同题参见计算出来的结果当然为double型

在进行运算时,不同类型的数据要先转换成统一类型。 对照阅读然后进行运算。转换的规则按下图所示:

double←float

long

unsigned

int ← charshort

箭头方向只表示数据类型级别的高低,由低向高转换。

1。 延伸阅读横向向左的箭头表示必定的转换,如字符数据必定转换为整数,short型转换为int型,float型数据在运算时一律先转换成双精度型,以提高与暗算精度,即使是两个float型数据相加,也先化成double型,然后再相加;

2。

纵向箭头表示当运算对象为不同类型时转换的方向,例如int型与double型数据进行运算,先将int型的数据装换成double型,然后在两个同类型(double型)数据间进行运算,结果为double型。

换言之,如果有一个数据是float或double型,则另一数据要先转换为double型,运算结果为double型。

由上可知,最终的结果为double型!。实际上

你可能想看:

继续阅读

若需了解「开云手机站登录入口平台介绍」的上下文,可结合站内栏目与相关篇目交叉阅读。

栏目用于追新,文内链接用于对照细节。两者配合可减少漏读与重复检索。

继续浏览时优先选择同栏目或相近主题,避免被站外镜像带偏。

频道列表

wiki · 科技 · 文化 · 主页

页面按栏目组织。可先看导读,再进入相关篇目或返回列表。