所以我定义了..
#define RADIAN(x) x*3.14159265f/180.0f
然后像这样使用它:
RADIAN(theta-90)
我的程序不断给我错误的结果,我花了几个小时才意识到上面的语句和下面的语句之间存在巨大差异。
RADIAN((theta-90))
现在我的程序运行得很好。为什么第一个陈述不正确?
最佳答案
#define
只进行文本替换,所以 RADIAN(theta-90)
实际上是 theta-90*3.14159265f/180.0f
,显然不是你的意思。尝试
#define RADIAN(x) ((x)*3.14159265f/180.0f)
相反。
关于c++ - DEFINE() 宏在表达式中的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5726562/