C 输出的为什么是这样?

微信公众号 2012-11-15 10:26:54
int main() { float m=10.0/7; printf("%f\n",m); return 0}

输出结果是:1.000000 为什么是这样呢?我定义的是float类型,10.0默认不是float类型吗?10.0/7会将int先转为float,然后再转为double进行计算,得出结果后再转回float啊,可结果为什么没小数了呢?
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
微信公众号 2012-11-15
  • 打赏
  • 举报
回复
引用 3 楼 Michael_g 的回复:
GCC 4.6 运行结果为 1.428571
找到问题了,是gcc链接库的时候,链接文件错了。
微信公众号 2012-11-15
  • 打赏
  • 举报
回复
引用 2 楼 ylgm44 的回复:
VC运行结果:1.428571
找到问题了,是gcc链接库的时候,链接文件错了。
Michael_g 2012-11-15
  • 打赏
  • 举报
回复
GCC 4.6 运行结果为 1.428571
ylgm44 2012-11-15
  • 打赏
  • 举报
回复
VC运行结果:1.428571
微信公众号 2012-11-15
  • 打赏
  • 举报
回复
我的编译环境是:Linux version 2.6.32-71 Red hat, gcc version 4.4.4

69,379

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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