若有以下程序段 doublex=5.16894; printf("%f\n",(int)(x*1000+0.5)/(double)1000); 则程序段的输出结果是

admin2019-05-17  25

问题 若有以下程序段
doublex=5.16894;
printf("%f\n",(int)(x*1000+0.5)/(double)1000);
则程序段的输出结果是

选项 A、5.170000
B、5.175000
C、5.169000
D、5.168000

答案C

解析 %f的输出格式是以带小数点的数学形式输出浮点数。首先计算x*1000,结果为5168.94然后+0.5,结果为5169.44,然后进行强制类型转换,转换成整型为5169,然后除以双精度数据1000,结果也为双精度数据5.169,输出时按照%f的格式输出,所以输出结果为5.169000。
转载请注明原文地址:https://jikaoti.com/ti/fSf0FFFM
0

最新回复(0)