![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C语言基础题,谁帮我分析下解题思路,详细点,3Q
15.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a...
15.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( )
A.b=1.0/a B.b=(float)(1/a) C.b=1/(float)a D.b=1/(a*1.0) 展开
A.b=1.0/a B.b=(float)(1/a) C.b=1/(float)a D.b=1/(a*1.0) 展开
3个回答
展开全部
B。
(1/a)是整形数相除,其商也是整形数,由于a > 1,所以 1/a 的值为0,(float)0,还是0.0。
(1/a)是整形数相除,其商也是整形数,由于a > 1,所以 1/a 的值为0,(float)0,还是0.0。
展开全部
A:1.0/a,其中1.0是float类型,a是int类型,那么先将a变成float类型,然后两个float类型做除法,结果是0.5,赋值给b,因此A是正确的。
B:(float)(1/a),其中1是int类型,a是int类型,因此1/a就是int类型,直接除法,结果为0,然后将0转换成float类型赋值给b,因此b的值还是0.00,B是错误的。
C:1/(float)a,其中1是int类型,a强制转换成了float类型,后面就同A了,正确。
D:1/(a*1.0),先计算a*1.0,其中a是int类型,1.0是float类型,结果也是float类型,后面同A的计算方式一样,正确。
B:(float)(1/a),其中1是int类型,a是int类型,因此1/a就是int类型,直接除法,结果为0,然后将0转换成float类型赋值给b,因此b的值还是0.00,B是错误的。
C:1/(float)a,其中1是int类型,a强制转换成了float类型,后面就同A了,正确。
D:1/(a*1.0),先计算a*1.0,其中a是int类型,1.0是float类型,结果也是float类型,后面同A的计算方式一样,正确。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B 1/a=0 在float 之后还是0的 望采纳啊!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询