A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yjadair 中级黑马   /  2015-5-15 12:14  /  1187 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(double)a/b 是强制转换a还是a/b啊?如果想要转换a或a/b的值 应该怎么弄啊(a,b都是 int类型的值)

5 个回复

倒序浏览
(double)a/b是强制转换a为double类型,但是因为C里有类型自动向高级转换,所有最后的结果是double类型的
回复 使用道具 举报
如果想让a/b的结果是double类型的,那就给这个加一个括号,不过不一定是楼主想要的。我举一个例子。
3/2 结果是1.原因是int类型相除,结果还是int类型。
(double)3/2结果是1.5.原因是这个强制转换是把int类型的3转换成double类型的3.0,然后结果就向高级类型对齐,就是1.5
(double)(3/2)结果是1.0.原因是这个强制转换是把int类型的1转换成double类型的1.0
回复 使用道具 举报
强制转换a
回复 使用道具 举报
如果想让a/b的结果是double类型的,那就给这个加一个括号,
回复 使用道具 举报
mony 发表于 2015-5-15 13:07
如果想让a/b的结果是double类型的,那就给这个加一个括号,不过不一定是楼主想要的。我举一个例子。
3/2 结 ...

受教了,总结还是很有必要的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马