单选题 执行下列程序之后的显示结果是( )。CLEARx1=1x2 =2DO p1 with x1 ,x1 +x2?"x1="+STR(x1 ,l),"x2="+STR(x2,1)RETURNPROC p1PARA w1.w2wl=wl*2w2=w2*2RETURN
【正确答案】 A
【答案解析】解析:调用模块程序的语句格式:DO<文件名>l<过程名>WITH<实参l>[,<实参2>,…],实参可以是常量、变量,也可以是一般形式的表达式。调用模块程序时,如果实参是常量或一般形式的表达式,系统会计算出实参的值,并把它们赋值给相应的形参变量。这种情形称为按值传递;如果实参是变量,那么传递的将不是变量的值,而是变量的地址,在模块中对形参变量值的改变,同样是对实参变量值的改变,这种情形称为按引用传递。本题中实参x1是按照引用传递,x1+x2是表达式,将按照值进行传递,即在过程p1中,wl的值的改变会影响x1,而w2的值的改变不会影响x1+x2.最终x1的值为w1的值为2,x2的值不变,仍为2,故A选项正确。