double首先计算18/4得到的int型的。然后结果和sqrt(4.0)计算,sqrt返回double型的数。然后/8.由于C语言算数计算向上兼容,所以结果为double型的。但结果是1.000000是不是?
答案AD肯定不对。因为int(4.0)的结果一定不是整数,所以整个运算结果不是整数。答案A不对。一个有结果的算式,最后的数据类型一定是确定的。答案D不对答案一定是在B和C中选择。我选择B,请明白的人给解释吧。