设有定义:float  x=123.4567;,则执行以下语句后的输出结果是[ ]。  printf("%f\n"(int)(x*100+0.5)/100.1;

admin2009-03-16  23

问题 设有定义:float  x=123.4567;,则执行以下语句后的输出结果是[  ]。
 printf("%f\n"(int)(x*100+0.5)/100.1;

选项

答案123.46

解析 输出语句的表达式:(int)(x*100+0.5)/100.0是指先运算表达式中的“x*100+0.5”,然后将其结果强制转换为int型,即:(int)(l23.4567*100+O.5)=(int)12346.17=12346,接下来进行”/100.0”的运算即:12346/100.0=123.46,原因是除运算是双目运算,当—边是整型数,—边是实型数时,系统自动将整型转换为实型数,然后进行运算,又因为最后的的输出格式是float类型的实数,所以结果为123.460000。
转载请注明原文地址:https://kaotiyun.com/show/oeXp777K
0

最新回复(0)