c语言中怎么算表达式的数据类型例如:表达式18/4*sqrt(4.0)/8值的数据类型为什么?谢谢

如题所述

需要准备的材料分别有:电脑、C语言编译器

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:printf("%d", sizeof(18/4*sqrt(4.0)/8));。

3、编译器运行test.cpp文件,此时通过sizeof得到其占用字节数为8,因此是double类型的数据。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-09
double
18/4 = 4 int 与 int运算仍为 int
sqrt(4.0) = 2.0 double 返回值的类型是函数sqrt定义的
18/4*sqrt(4.0) 为int与double运算,为保证精度将前面的int提升为double类型,此时结果为double
double/int 与前面类似 ,要提升int为double,结果仍为double本回答被网友采纳
第2个回答  2012-03-31
/和*等于平时计算的除以(不取余数)和乘以 然后sqrt()等于开方
18/4*sqrt(4.0)/8=18除以4乘以2.0除以8=1.0
第3个回答  2012-06-09
double