c++中inta=2.8*6问a=多少,答案是16,不懂,求指导
答案:6 悬赏:70 手机版
解决时间 2021-04-18 13:15
- 提问者网友:战魂
- 2021-04-18 04:19
c++中inta=2.8*6问a=多少,答案是16,不懂,求指导
最佳答案
- 五星知识达人网友:荒野風
- 2021-04-18 05:03
int a;
a = 10.5;
a = 1.1;
a = 2.2;
2.8*6 = 16.8;
a = 16.8 就是 a = 16
因为a是整形, 被忽略了小数点.
所以只有整数部分.
a = 10.5;
a = 1.1;
a = 2.2;
2.8*6 = 16.8;
a = 16.8 就是 a = 16
因为a是整形, 被忽略了小数点.
所以只有整数部分.
全部回答
- 1楼网友:三千妖杀
- 2021-04-18 08:44
2.8默认是double类型。而变量a你定义的是int类型,所以计算的时候系统是会把小数点后的数据截断的,所以是16.
- 2楼网友:傲气稳了全场
- 2021-04-18 08:19
因为2.8*6=16.8,这是一个浮点数。C++中从浮点数转为整型数(int)是只取小数点前的数的,小数点后不管是什么都会舍去
- 3楼网友:不如潦草
- 2021-04-18 07:16
int 型就是整型,计算的时候其他型的数强制转换为int型,转换规则是直接截取整数部分,小数全部去掉
楼主的相当于 int a=(int)(2.8*6)=(int)(16.8)=16
楼主的相当于 int a=(int)(2.8*6)=(int)(16.8)=16
- 4楼网友:轻雾山林
- 2021-04-18 05:40
2.8是double型,2.8*6编译器会当成double型乘法运算,得到的结果是double型,即为16.8,左边a为int型,把16.8赋值给a相当于进行隐式类型转换,直接去尾取整,结果就是16
- 5楼网友:你哪知我潦倒为你
- 2021-04-18 05:30
2.8*6=16.8
因为变量a是整型,所以结果被向下取整。
16.8向下取整为16
所以a=16
因为变量a是整型,所以结果被向下取整。
16.8向下取整为16
所以a=16
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯