c语言求5/3=1.67 我的%d/%d=%1.2lf\n为什么结果是5/3=1.00,,怎么解决?
c语言求5/3=1.67 我的%d/%d=%1.2lf\n为什么结果是5/3=1.00,,怎么解决?
日期:2021-06-18 07:43:47 人气:1
在C语言中加减乘除属于算术运算符,它们都是双目运算符,即两个运算对象。
如果双目运算符两边的运算数类型一致的话,所得结果的类型也必须与运算数的类型一致。(比如该题中的%d/%d,双目运算符两边的类型为整型,所得所得的数也为整型数,即5/3=1,但是由于前边商的格式控制为%1.2f。1.2代表小数部分要有两位,不足则补零,所以5/3=1.00
解决办法是,把前边的格式控制也改为double类型,即:%lf/%lf=%1.2lf\n。
实
如果双目运算符两边的运算数类型一致的话,所得结果的类型也必须与运算数的类型一致。(比如该题中的%d/%d,双目运算符两边的类型为整型,所得所得的数也为整型数,即5/3=1,但是由于前边商的格式控制为%1.2f。1.2代表小数部分要有两位,不足则补零,所以5/3=1.00
解决办法是,把前边的格式控制也改为double类型,即:%lf/%lf=%1.2lf\n。
实