已有声明int n=12;double a;则执行语句a=n/5后,a的值为2.0,为什么?

发布网友 发布时间:2024-10-23 20:48

我来回答

3个回答

热心网友 时间:2024-11-13 19:34

因为n是int型,5也是int型,所以n/5的结果是int型2。整型数2赋给double型时要自动提升到较高的类型,所以2被提升为2.0了。这里的2.0只是表示这个数据是浮点型,到底小数点后有多少位要看输出时被控制到多少位,若用%.0f控制输出是2,若用%f控制输出是2.000000(默认小数点后6位),若用%.3f控制则输出是2.000,等等……

热心网友 时间:2024-11-13 19:33

。。。。我建议你把5改成5.0试试,n是int型,5也是整数,除出来的结果还是取整数部分的,你改成n/5.0估计就不一样了、、、、

热心网友 时间:2024-11-13 19:31

你写的方法不对
a=n;
a=a/5;
你再试试

热心网友 时间:2024-11-13 19:30

因为n是int型,5也是int型,所以n/5的结果是int型2。整型数2赋给double型时要自动提升到较高的类型,所以2被提升为2.0了。这里的2.0只是表示这个数据是浮点型,到底小数点后有多少位要看输出时被控制到多少位,若用%.0f控制输出是2,若用%f控制输出是2.000000(默认小数点后6位),若用%.3f控制则输出是2.000,等等……

热心网友 时间:2024-11-13 19:33

你写的方法不对
a=n;
a=a/5;
你再试试

热心网友 时间:2024-11-13 19:36

。。。。我建议你把5改成5.0试试,n是int型,5也是整数,除出来的结果还是取整数部分的,你改成n/5.0估计就不一样了、、、、

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com