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

admin2019-05-17  55

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

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

答案A

解析 表达式"(int)(x*1000+0.5)/(double)1000"先计算"(x*1000+0.5)",结果为5169.44,将其转化为int型,得表达式"(int)(x*1000+0.5)"的值为5169,所以整个表达式"(int)(x*1000+0.5)/(double)1000"的值为5.169,输出结果为A)。
转载请注明原文地址:https://jikaoti.com/ti/oSf0FFFM
0

最新回复(0)