输出的结果怎么这样啊??高人指点。
时间:2011-07-31
来源:互联网
Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
a = 8
b = 12
Print fun(a, b); a; b
End Sub
Private Function fun(ByVal a As Integer, b As Integer) As Integer
a = a Mod 5
b = b \ 5
fun = a
End Function
我认为是3,3,2
但是输出的是3,8,2
怎么回事??
高人指点。
Dim a As Integer
Dim b As Integer
a = 8
b = 12
Print fun(a, b); a; b
End Sub
Private Function fun(ByVal a As Integer, b As Integer) As Integer
a = a Mod 5
b = b \ 5
fun = a
End Function
我认为是3,3,2
但是输出的是3,8,2
怎么回事??
高人指点。
作者: QQ472152323 发布时间: 2011-07-31
楼主基础没有打好,难道你不知道函数fun中a是传值,也就是传a的一个副本?你做了运算,但不是对a做运算,是对其副本做运算
要想达到你的目的,参考如下代码:
VB code
要想达到你的目的,参考如下代码:
VB code
Option Explicit Private Sub Command1_Click() Dim a As Integer Dim b As Integer a = 8 b = 12 Print fun(a, b); a; b End Sub Private Function fun(ByRef a As Integer, b As Integer) As Integer a = a Mod 5 b = b \ 5 fun = a End Function
作者: Veron_04 发布时间: 2011-07-31
Byval
按值
一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。
ByRef
按地址
一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址传递参数。
按值
一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。
ByRef
按地址
一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址传递参数。
作者: Veron_04 发布时间: 2011-07-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28