为什么“f”不等于7.5而等于7。

wgwyj 2002-06-05 11:18:36
main()
{
float f;
int i=15;
f=i/2;
}
...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebutterfly 2002-06-06
  • 打赏
  • 举报
回复
用double也行
冰封千年箭 2002-06-05
  • 打赏
  • 举报
回复
这里可不可,只强制转换i,(float) i;
就成了。就不用转换2.0了。
liux330 2002-06-05
  • 打赏
  • 举报
回复
就这样
JTCY23 2002-06-05
  • 打赏
  • 举报
回复
同意楼上
写程序要注意易读性,不然自己都看不懂了
main()
{
float f;
int i=15;
f=(float)i/2.0;
}

yufei_yf 2002-06-05
  • 打赏
  • 举报
回复
同意
atdawn 2002-06-05
  • 打赏
  • 举报
回复
因为i和2都是整数,i/2当然会按整数的计算规则来计算了,结果是一整数,在赋值时,再转换为浮点数。
将i/2改为i/2.0就可以了。

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧