當我們在分析有關宏定義的問題時,最簡單的辦法就是先把宏的內容進行替代,然后在進行分析。
如:
~~~
#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
~~~