当我们在分析有关宏定义的问题时,最简单的办法就是先把宏的内容进行替代,然后在进行分析。
如:
~~~
#define sqr(x) x+x
#define fun(x) x*x
~~~
则分析如下表达式的结果
~~~
sqr(3) //第一个很简单就是x+x即3+3=6
fun(3+3) //第二个先用宏替代则为 3+3*3+3则为15
!sqr(3) //第三个用宏代替为 !3+3=0+3=3 所以结果为3
~~~