您好,欢迎来到99网。
搜索
您的当前位置:首页c++中inta=2.8*6问a=多少,答案是16,不懂,求指导

c++中inta=2.8*6问a=多少,答案是16,不懂,求指导

来源:99网

有网友碰到这样的问题“c++中inta=2.8*6问a=多少,答案是16,不懂,求指导”。小编为您整理了以下解决方案,希望对您有帮助:

解决方案1:

2.8是double型,2.8*6编译器会当成double型乘法运算,得到的结果是double型,即为16.8,左边a为int型,把16.8赋值给a相当于进行隐式类型转换,直接去尾取整,结果就是16

解决方案2:

int 型就是整型,计算的时候其他型的数强制转换为int型,转换规则是直接截取整数部分,小数全部去掉
楼主的相当于 int a=(int)(2.8*6)=(int)(16.8)=16

解决方案3:

2.8*6=16.8
因为变量a是整型,所以结果被向下取整。
16.8向下取整为16
所以a=16

解决方案4:

本来呢,2.8*6=16.8对吧,16.8是个float型的数,而你定义的a是int型的,所以结果是int型,也就是整型,所以答案是16.

解决方案5:

int a=2.8*6; 首先计算2.8*6.0(内部以double来保存计算结果,值为16.8),由于a定义为int整型数,因此,截取16.8的整数位赋值给a,即a=16

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务