c语言简单问题2

来源:百度知道 编辑:UC知道 时间:2024/09/23 22:42:49
有如下类型说明:
float n;
int m;
则以下能实现将n中的数值保留小数点后两位,第三位四舍五入的表达式是:
A:n=(n*100+0.5)/100
B:m=n*100+0.5,n=m/100.0
C:n=n*100+0.5/100.0
D:n=(n/100+0.5)*100.0

请解析,谢谢!

答案是B,举例说明:
float n=6.124;
在m=n*100+0.5这个式子中,因为n是浮点型,m是整形,类型不一致,所以编译器会把n强制转换为int类型,再加上int类型会忽略小数点之后的数,那么n此时就等于612,(如果第三位大于5,那么加上0.5之后n就成了613了),然后n=m/100,此时n就是6.12