最后一个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