问题 单项选择题


说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】
SET TALK OFF
CLEAR
STORE 10 TO A
STORE 20 TO B
SET UDFPARMS TO REFERENCE
DO SWAP W1TU A,(B)
A,B
PROCEDURE SWAP
PARAMETERS X1,X2
TEMP=X1
X1=X2
X2=TEMP
ENDPROC
SET TALK ON
RETURN

B的输出结果为 ______。

A.10

B.20

C.30

D.5

答案

参考答案:B

解析: 命令SET UDFPARAMS TO REFERENCE 用来设置参数传递方式为按引用传递。也就是说,当形参变量值改变时,实参变量也是随之改变。但是由于本题采用的调用方式是:DO WITH,所以调用方式不受参数UDFPARAMS的影响。调用过程中变量A是按引用传递,变量B用括号括起来,因此B始终是按值传递。模块SWAP的功能是将两个变量交换。程序开始时变量 A和B的值分别为10和20,执行模块SWAP之后将A和B交换,由于变量A是按引用传递,因此交换后变量A指向B的地址,因此返回主程序后A的值为20,变量B为按值传递,模块结束后,其值仍为20,因此返回主程序后,变量A和B指向同一个地址,其值均为20。

填空题
单项选择题