a2563812791 发表于 2020-2-19 12:29:03

课后作业S1E5,在#define标志中9/2与9/2.0区别是什么?

#include <stdio.h>
#define F 3.7/2
#define K 8/2
#define You 9/2
#define X 1.3/2
#define Yang 2.4/2
#define H 6.3/2
#define B 0.5/2
int main()

{
        double price1, price2, price3;
        price1 = F * 2 + K + You;
        price2 = 3 * X + 0.5 * Yang + 5 * H;
        price3 = 10 * H + 20 * B;
        printf("小明需支付%.2f元\n小红需支付%.2f元\n小甲鱼需支付%.2f元\n", price1, price2, price3);
        return 0;
       
}
输出的小明需支付11.7元明显不对。将#define You 9/2 改成#define You 9/2.0就对了,这是为什么?

zltzlt 发表于 2020-2-19 12:33:33

9 / 2 得到的是 4
9 / 2.0 得到的是 4.5

a2563812791 发表于 2020-2-19 13:06:11

谢谢,我知道了
页: [1]
查看完整版本: 课后作业S1E5,在#define标志中9/2与9/2.0区别是什么?