为什么1/2=0?
C primer plus 课后作业 3.11.8
1 |
|
查阅发现
C 的除法,当两边都是整型值
时,做整数除法
,得到的也是整数
,并会对形如5/3
的运算结果做截断
处理,并且不四舍五入
如果两边至少有一个为 float 或者 double,那么将做浮点数除法
,1.0/2=0.5 。
C 并不推荐这种混合类型
的除法运算,因为计算机原理上无法做到浮点数除以整数的运算。用浮点数除以整数时,C 编译器只是将整数转换
为了浮点数
1 | float c=2.0; |