下列程序段的输出结果是 CLEAR STORE 10 TO A STORE 20 TO B SET UDFPARMS TO REFERENCE DO SWAP WITH A,(B)?A,B PROCEDURE SWAP

admin2010-08-21  23

问题 下列程序段的输出结果是    CLEAR    STORE 10 TO A    STORE 20 TO B    SET UDFPARMS TO REFERENCE    DO SWAP WITH A,(B)?A,B    PROCEDURE SWAP    PARAMETERS Xl,X2    TEMP=X1    Xl=X2    X2=TEMP    ENDPROC

选项 A、10  20
B、20  20
C、20  10
D、10  10

答案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。故选项B是正确答案。
转载请注明原文地址:https://jikaoti.com/ti/eye0FFFM
0

最新回复(0)