为什么C语言中13/3=4而13.0/3就会等于4.333333333了

[复制链接]
查看11 | 回复4 | 2013-2-24 19:09:32 | 显示全部楼层 |阅读模式
13.0会被编译器认为是双精度常量,所以得到的结果也就是双精度...
回复

使用道具 举报

千问 | 2013-2-24 19:09:32 | 显示全部楼层
规定如果 / 两边都是整型,那么结果的小数部分被舍去(向0舍入)。(C99 6.5.5)否则结果为准确值……...
回复

使用道具 举报

千问 | 2013-2-24 19:09:32 | 显示全部楼层
整形与浮点型之间的运算,用的是浮点型运算,结果是浮点型的...
回复

使用道具 举报

千问 | 2013-2-24 19:09:32 | 显示全部楼层
当然了。类型不一样。13是整型。13.0是double类型的啊...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行