问题
填空题
程序段如下:
A=5
B=6
DO ABCD
A,B
PROCEDURE ABCD
PRIVATE A
A=3
B=5
ENDPROC
该程序执行后,A的值为______,B的值为______。
答案
参考答案:5 5
解析: 在调用模块中,A和B由于没有定义作用域,其作用域为PRIVATE,在本模块和它调用的模块中有效。调用ABCD过程,在过程中又定义了一个PRIVATE变量A,该变量与上一级模块中的PRIVATE变量A同名,上一级模块中的变量A被屏蔽,在过程中改变A的值不影响上一级模块中的变量A的值,但改变B的值其实就是改变了上一级模块中变量B的值。故调用结束返回后,输出的A和B的值都是5。