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

admin2022-06-24  25

问题 若有以下程序段:
double x=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/Xxd0FFFM
0

最新回复(0)