下列程序段执行以后,内存变量A和B的值是(   )。 CLEAR A=5 B=20 SET UDFPARMS TO REFERENCE DO SQ WITH(A),B &&参数A是值传送,B是引用传送 ?A,B PROCEDURE SQ PARAM

admin2013-05-18  16

问题 下列程序段执行以后,内存变量A和B的值是(       )。
CLEAR
A=5
B=20
SET UDFPARMS TO REFERENCE
DO SQ WITH(A),B &&参数A是值传送,B是引用传送
?A,B
PROCEDURE SQ
PARAMETERS X1,Y1
X1=X1*X1
Y1=2*X1
ENDPROC

选项 A、5 50
B、25 50
C、25 10
D、5 20

答案A

解析 过程定义时,如果形式参数被说明为传值,则过程调用只是将相应位置实参的值传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程中,数据的传递只是单向的,故称为引用传送。反之,如果形式参数被说明为传址,则过程调用是将相应位置实参的地址传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化又会反向影响实参的值。在这个过程中,数据的传递具有双向性,故称为值传送。
    此题中参数A为值传送,即A最后的值也为5;参数B为引用传送,根据X1=X1*X1,Y1=2*X1得Y1值为50,即B的最终值。故本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/qGop777K
0

最新回复(0)