我也不明白这个问题。Adv pre guide(4th)P391:If the macro procesor receives either a %Let statement or a macro variablereference(¯o) in open code,it checks only the global symbol table for existence of the macro variable.
Suppose the macro processor receives a %LET statement during a macro call, as follows:
%let macvar=value;The macro processor processes the following steps:
1.The macro processor checks to see whether the macro variable macvar already exists in the local symbol table. If so, the macro processor updates macvar in the local symbol table with the value value. If macvar does not exist in the local table, the macro processor goes on to step 2.
2.The macro processor checks to see whether the macro variable macvar already exists in the global symbol table. If so, the macro processor updates macvar in the global symbol table with the value value. If macvar does not exist in the global symbol table, the macro processor goes on to step 3.
3.The macro processor creates a macro variable named macvar in the local symbol table and assigns a value of value to it.