下列程序段执行以后,内存变量X和Y的值是( )。 CUEAR STORE 3 TO X STORE 5 TO Y PLUS((X),Y) ?X,Y PROCEDURE PLUS PARAMETE

admin2015-07-24  42

问题 下列程序段执行以后,内存变量X和Y的值是(    )。
    CUEAR
    STORE 3 TO X
    STORE 5 TO Y
    PLUS((X),Y)
    ?X,Y
    PROCEDURE PLUS
    PARAMETERS A1,A2
    A1=A1+A2
    A2=A1+A2
    ENDPROC

选项 A、8 13
B、3 13
C、3 5
D、8 5

答案C

解析 参数传递有按值传递和按引用传递两种方式,按值传递时,形参变量值的改变不会影响实参变量的取值;按引用传递时,当形参变量值改变时,实参变量值也随之改变。
  模块的调用格式有两种:
  格式1:使用DO命令,格式为DO<文件名>|<过程名>。
    格式2:在文件名或过程名后面加一对小括号,格式为<文件名>|<过程名>(),括号中包括若干个实参变量。
    本题采用的是利用格式2的方式调用模块程序,采用格式2调用模块程序时,默认情况下都以按值方式传递参数。如果实参是变量,可以通过SET UDFPARMS命令重新设置参数传递的方式,但是,需要注意的是,不论是设置何种传递方式,凡是用一对圆括号将一个变量括起来使其变成一般形式的表达式,总是按值传递,它不受SET UDFPARMS值的设置影响。本题中x和Y都是按值传递,形参值的变化不会影响到实参值,所以程序段执行以后x值等于3,Y值等于5。
转载请注明原文地址:https://kaotiyun.com/show/R6Ep777K
0

最新回复(0)