
C=SPACE(0)
DO WHILE .T.
d=MOD(n,2)
c=STRing(d,1)+c
n=INT(n/2)
If n=0
EXIT
ENDIF
ENDDO
?c
set proc to kkx=20
y=50
do a1
?x,y 这是第三次显示值对应命令,x的值因为下级程序将其隐藏所以其值没变还是20,y是全局变量,在过程a2中改为MMM了,所以结果是20 MMM
set proc to
return
*过程文件 kk.prg
proc a1
private x 将主程序的变量x隐藏,其作业范围为当前程序和下级子程序
x=30
local y 这个y只在当前程序起作用
y=10
?x,y 这是第一次显示值对应命令,所以是3010
do a2
?x,y这是第二次显示值对应命令,x的作业范围可包括子程序,所以值在下级程序中改了为KKK,而y只在本程序起作用,下级程序中的y是全局变量虽然改了但与当前的y不同,这两个变量不相同,所以还是10,所以结果是 KKK10
return
proc a2
x="KKK"
y="MMM"
RETURN
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)