福州八中 王玲:自编函数问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 15:37:52
FIF 教程《4.2.5 自编函数(下)》作业列表:

1 . 看程序,说结果。
题目详细:
看下面程序,说出输出结果:

dim a,b
function abc(byval a,byref c)
a=a+1
b=b+1
c=c+a+b
abc=a*2
end function
a=5:b=10
response.write abc(a,b)
response.write ":" & a & ":" & b

点击此处查看答案 建议:您最好是独立完成作业后再查看答案以验证你的学习效果!

答案:

12:5:28

dim a,b '定义两个变量,a,b
function abc(byval a,byref c)'定义函数abc,和传入的两个参数a,b,其中a 是传值参数,c是传址参数
a=a+1 '运算,a=a+1
b=b+1 '运算,b=b+1
c=c+a+b '运算,c=c+a+b
abc=a*2 '运算,abc=a*2
end function '函数结束
a=5:b=10 '给变量赋值
response.write abc(a,b)'执行函数,参数为5,10,输出返回值
response.write ":" & a & ":" & b '输出a,b

先看ABC(A,B)即ABC(5,10)
在函数ABC中,a=5,c=10
a=a+1即a = 5+1 =6
abc=a*2即abc=6*2=12
所以输出的第一个为12
a为传值参数,运算过后值不改变,第二个输出5
b=b+1时,b的值变为11,因为b是传址参数,此时的c也等于11
c=c+a+b即c=11+6+11=28
b为传址函数,运算过后值改变,输28

byval a,byref c

ByVal 是传值, 实参不变

ByRef 是传地址, 实参改变

ABC 这个函数执行后,a 不变, b 变为函数内部执行后的结果,

abc 的结果,就是普通的执行结果