求各位大神帮我看一下下面这道题:
80. The following SAS program is submitted:
%let rc = Begin;
%macro test;
data out;
set sashelp.prdsale nobs = totalobs;
if totalobs > 10 then do;
%let rc = high;
end;
else do;
%let rc = low;
end;
run;
%mend;
%let rc = Before Execution;
%test
The data set SASHELP.PRDSALE has 50 observations.
What is the value of the variable RC when the macro finishes execution?
A.low
B.high
C.Begin
D.Before Execution
Answer: A
我想,它的运行顺序及宏变量的定义形式应该是: %let rc=Begin; ------Global
%let rc=Before Execution; ------Global
%test; (在这里rc会被赋值成high或low) ------Local
因为SASHELP.PRDSALE有50条observation,带到程序中后,50>10,那么%let rc = high,但是为什么答案会是A(low)呢??
十分不解,在此请各位大侠帮忙答疑解惑![em49] 多谢多谢!![em44]