宏定义要加括号

#define DI_INPUT_NUM  11+2
int a = DI_INPUT_NUM * 3
那么a = 11+2 *3 = 11+6
=17

#define DI_INPUT_NUM  (11+2)
int a = DI_INPUT_NUM * 3
那么 a
=(11+2)*3 = 13*3=39

上面2中情况可以看到第二种才是宏定义的本意。
所以习惯性会加个括号,其实空定义不管是数字或者表达式,都必须加括号,这是编程的很好习惯。

原文地址:https://www.cnblogs.com/Yogurshine/p/3554346.html