设有定义:floatx=123.4567;则执行下列语句后的输出结果是—— printf("%f\n",(int)(x*100+0.5)/100.0);
人气:365 ℃ 时间:2020-06-07 02:55:30
解答
#define floatx 123.4567
main
{
#ifdef floatx
{
printf("%f\n",(int)(x*100+0.5)/100.0);
}
getchar();
}
兄弟看来你没有理解啊,我帮你细细的分析一下吧..
首先 printf("%f\n",(int)(x*100+0.5)/100.0);
%f是以单精度的形式输出,知道的吧?
(int)(x*100+0.5)/100.0中可以拆分来看,(int)(x*100+0.5)是一个强制类型转换成整型,结果为
(int)(123.4567*100+0.5)即等于(int)(12346.17)即等于12346
我们再分析12346/100.0即等于123.46,关键输出的结果要以单精度float的形式输出来,单精度的小数点精确为6位,即结果为123.460000
推荐
猜你喜欢
- 落叶阅读题答案
- 岳阳楼记的理解“不以物喜,不以己悲”、“先天下之忧而忧,后天下之乐而乐”和现在人们的观念的不同之处
- 直线y=2x=8与x轴叫于点P,平移直线y=3x,使其过点P,求平移后所得直线的表达式
- 放射与辐射的区别是什么?伦琴/小时又是什么单位,概念是什么?
- 若函数f(x)=f(x+2),x<2 2∧-3,x≥2,则f(-3)的值
- treat everyone or everything equally
- 有一个小物块,置于一个光滑的水平桌面上,一条绳的一端连接此物体,另一端穿过桌面中心的小孔,该物体原以角速度w在距孔为R的圆周上转动,今将绳从小孔缓慢往下拉,则物体
- 氯铂酸盐如何检验铵根,钾离子,钠离子和铯离子,铅离子?