作业帮 > 综合 > 作业

vf题 set talk off s=0 x=2 y=5 do RR “s=”,s return

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 06:42:09
vf题 set talk off s=0 x=2 y=5 do RR “s=”,s return
vf题
set talk off
s=0
x=2
y=5
do RR
“s=”,s
return
*RR.prg
x=y
s=s+x
retrun
答案是s=2
晕死,答案是5,不是2set talk off
s=0
x=2
y=5
do RR   &&此时,s=0,x=2,y=5,前往执行过程 注1 
?“s=”,s   &&此时,s=5,x=5,y=5 ,见注3
 return

proc rr 
x=y     &&此时,s=0,x=5,y=5  注2  
s=s+x   &&此时,s=5,x=5,y=5  注3
  retu
再问: 为什么x=y=5而不是x=y=2
再答: 这其实是一种很简单的等量代换。 y=5, x=y 那么x=5. 在电脑上,可以对变量赋值,但如果对变更重新赋值,原变量的值将被覆盖。 本例中, x=2,这是赋初值。 但后面,X被重新赋值,其初值即被覆盖了,不再为2,而为新值5了