小白求解 c语言类型转换int转double后除法输出有问题 加减乘都没有

2025-04-13 14:07:43
推荐回答(1个)
回答1:

最后一个printf语句有问题,(double)(a/b),在转换之前,已经进行了a/b运算,因为a与b都是int型,而两个int型数据相除,结果也是int型(取整),转换成double类型的时候小数部分已经变成0,而(double)a/b是把a转换成double型,再与b相除,结果是double型
举个例子:(double)(1/2),1/2的结果是0,(double)(1/2)是0.000000
(double)1/2,实际上是1.000000/2,结果是0.500000