vfp中的程序题
发布网友
发布时间:2022-05-15 19:15
我来回答
共3个回答
热心网友
时间:2024-03-16 11:15
一开始a=10,b=20.
在“do swap with a,(b)”中,a是“按地址传递”(双向传递,即实参值传给调用程序的形参,接着在调用程序中计算出的新的形参值又返回给实参),而b加了括号表示“按值传递”(单向传递,简单说b永远等于20,不管后面怎么运算)。
在“procere swap ”中算出形参x1=20,返回给实参a=20,算出形参x2=10但不返回给b,b依然等于20.
因此a=20,b=20.
热心网友
时间:2024-03-16 11:16
VF中有这么难的题么,我学了一个多月了都没碰到过,实在不会做,要是没人会,就把分给我吧
热心网友
时间:2024-03-16 11:16
程序正确写法:
Clear
store 10 to a
store 20 to B
set udfparms to reference
do swap with a,(b)
? a,b
procere swap
parameters x1,x2
temp=X1
x1=x2
x2=temp
endproc
答案是
B.20 20
子程序“procere swap”的功能是交换两个变量的值。
set udfparms to reference
是指在调用子程序时子程序中的值返回到主程序,所以如果调用时是:
do swap with a,b
a,b 变量交换后应为20,10;
由于 b 带括号,是指主程序的b值给子程序,但不返回,所以在子程序中a=20,b=10,由于子程序中的b值不返回,在主程序中保留原植20,
所以结果为:20,20