黑马程序员技术交流社区

标题: 求解 [打印本页]

作者: likang    时间: 2015-7-12 13:23
标题: 求解
设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(   )      
   A.b=(float)(1/a)  
B.b=1.0/a      C.b=1/(float)a      D.b=1/(a*1.0)
请给出原因
作者: 984326157    时间: 2015-7-12 13:26
答案是A,计算过程中的类型转换才能达到目的
作者: llo    时间: 2015-7-12 13:42
a是先计算括号内,,后装货类型
作者: likang    时间: 2015-7-12 13:55
984326157 发表于 2015-7-12 13:26
答案是A,计算过程中的类型转换才能达到目的

是选不对的,你是不是看错了!
作者: likang    时间: 2015-7-12 13:56
llo 发表于 2015-7-12 13:42
a是先计算括号内,,后装货类型

那也不对啊
作者: likang    时间: 2015-7-12 14:02
likang 发表于 2015-7-12 13:56
那也不对啊

我去,才看出来!大意了
作者: FreshMAN15    时间: 2015-7-12 14:10
答案是A,先计算1/a,因为1、a都是整型所以为0,再(float)0只是将结果转换成实数0.0
作者: 糖糖本尊    时间: 2015-7-12 17:01
A
先算括号里面的 括号里面的为整形 所以结果为0.0
作者: 小小羊    时间: 2015-7-12 19:26
肯定是A喽
作者: 卖毛玉的小贩    时间: 2015-7-12 19:39
答案就是A额,别的都是0.5
作者: xiongmaoren518    时间: 2015-7-12 19:50
A,因为A是把(1/a)给强转成float型,(1/a)强转成float型是0.000000,而不是0.500000




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2