#define MACRO_EXAMPLE(n) 1 + 5 * n
#define MACRO_EXAMPLE(n) 1 + 5 * (n)
#define MACRO_EXAMPLE(n) (1 + 5 * (n))
执行z = 2 * MACRO_EXAMPLE(3 + 4)时,分别变为:
z = 2 * 1 + 5 * 3 + 4
z = 2 * 1 + 5 * (3 + 4)
z = 2 * (1 + 5 * (3 + 4))
总结:
关于宏定义的处理原则:宏定义一定要注意加【总括号】和【变量括号】。