Rabmo 发表于 2020-1-21 15:32:24

C中 为什么常量/常量的结果会等于 0

#define Airspeed 20
#define fps60
.....

float fpsspped = (double)(Airspeed / fps);

本萌新在做一个打飞机游戏,用到了easyx ,并尝试设置帧率让飞机移动更加丝滑而不是瞬移,通过计算帧移动距离进行绘制

但是这个距离计算:(Airspeed / fps) = 0 这个蛋疼问题就出现了。。。。
后用WINDOWS计算器程序员模式计算了一下 20/60结果也是等于 0
之后不信邪的用if (Airspeed / fps ==0)
        outtextxy(4 * (WinW / 5) + 50, 100 ,"战机Game");

测试出也是等于0。。

我已经欲哭无泪了{:5_96:} {:5_96:}
求大佬告知哪里出了问题

EthanHsiung 发表于 2020-1-21 16:29:19

被除数和除数都是整型,结果也是整形。
要想结果不是0,可以把其中一个数调整为浮点型

Rabmo 发表于 2020-1-21 16:40:27

EthanHsiung 发表于 2020-1-21 16:29
被除数和除数都是整型,结果也是整形。
要想结果不是0,可以把其中一个数调整为浮点型

万分感谢
页: [1]
查看完整版本: C中 为什么常量/常量的结果会等于 0