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

admin2017-06-19  37

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

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

答案B

解析 在这段程序代码中,定义了子过程SWAP,其作用是交换两个变量X1,X2的值。
    在主程序中,首先定义了两个实参变量A和B,并分别赋值为10和20。用SETUDFPARMS  TO  REFERENCG语句设置变量传递方式为按引用传递。在DO  SWAPWITH A,(B)语句中,变量B用一对括号括起来,使其变成一般形式的表达式,所以不管什么情况,总是按值传递。所以结果就是变量A按引用传递,变量B按值传递。因此程序运行的结果是变量A的值等于20,而实参变量B的值不变,仍为20。所以答案为选项B。
转载请注明原文地址:https://kaotiyun.com/show/d2Bp777K
0

最新回复(0)