这段VB的代码是什么意思?
SubCallingProcedure()DimintXAsIntegerintX=12*3Foo(intX)EndSubSubFoo(BarAsString)MsgBo...
Sub CallingProcedure ( )
Dim intX As Integer
intX =12 * 3
Foo (intX)
End Sub
Sub Foo (Bar As String)
MsgBox Bar 'Bar的值为字符串"36"
End Sub
不太看得懂 ,麻烦解释一下。。。谢谢
按地址传递参数
按地址传递参数使过程用变量的内存地址去访问实际变量的内容。结果,将变量传递给过程时,通过过程可永远改变变量值。按地址传递参数在 Visual Basic 中是缺省的。
如果给按地址传递参数指定数据类型,就必须将这种类型的值传给参数。可以给参数传递一个表达式,而不是数据类型。Visual Basic 计算表达式,如果可能的话,还会按要求的类型将值传递给参数。
把变量转换成表达式的最简单的方法就是把它放在括号内。例如,为了把声明为整数的变量传递给过程,该过程以字符串为参数,则可以用上面的语句。
但是我看不懂上面的例子和以上内容有什么关系,,,看不懂 展开
Dim intX As Integer
intX =12 * 3
Foo (intX)
End Sub
Sub Foo (Bar As String)
MsgBox Bar 'Bar的值为字符串"36"
End Sub
不太看得懂 ,麻烦解释一下。。。谢谢
按地址传递参数
按地址传递参数使过程用变量的内存地址去访问实际变量的内容。结果,将变量传递给过程时,通过过程可永远改变变量值。按地址传递参数在 Visual Basic 中是缺省的。
如果给按地址传递参数指定数据类型,就必须将这种类型的值传给参数。可以给参数传递一个表达式,而不是数据类型。Visual Basic 计算表达式,如果可能的话,还会按要求的类型将值传递给参数。
把变量转换成表达式的最简单的方法就是把它放在括号内。例如,为了把声明为整数的变量传递给过程,该过程以字符串为参数,则可以用上面的语句。
但是我看不懂上面的例子和以上内容有什么关系,,,看不懂 展开
推荐于2016-12-03
展开全部
先定义了一个变量:
Dim intX As Integer
intX =12 * 3
这个变量值是:36
Foo (intX) 时,把变量值36传递给过程:Foo
实际等于:Foo(36),然后到:
Sub Foo (Bar As String)
'Bar接收到上面传到的变量:36,然后在下面显示:
MsgBox Bar '显示出36来。
End Sub
Dim intX As Integer
intX =12 * 3
这个变量值是:36
Foo (intX) 时,把变量值36传递给过程:Foo
实际等于:Foo(36),然后到:
Sub Foo (Bar As String)
'Bar接收到上面传到的变量:36,然后在下面显示:
MsgBox Bar '显示出36来。
End Sub
追问
不太理解这样的表达 Sub Foo (Bar As String)
那个Foo是哪里冒出来的,都没有在上面那个地方先声明啊?
bar和Foo和Foo(36)是怎样的关系呢?
原谅我是一个小白
追答
那个Foo是哪里冒出来的,都没有在上面那个地方先声明啊?
Sub Foo (Bar As String) 时,就有了,自定义过程啊
bar和Foo和Foo(36)是怎样的关系呢?
bar是Foo过程里用来接收变量的,你Foo(intX),而intX等于36,相当于执行一个过程:Sub Foo(36)这个过程,那么Sub Foo (Bar As String),得到接收的变量36,于是Bar就变成了接收到的变量36
于是:MsgBox Bar 时,就显示出36来了。
展开全部
没什么意思,一个很普通的过程调用罢了。
追问
我也知道是过程调用啊 这是书上的例子
你能逐条解释一下么
追答
这是什么鸟书啊,写这么烂的例子。
Sub CallingProcedure ( )
Dim intX As Integer'定义一个整型变量
intX =12 * 3‘这是一个赋值表达式,也就是把12*3的值赋给intX,不知道作者想表达什么。
Foo (intX)’这按值传递调用过程,因为后面没有程序,不知道想说明什么。
End Sub
Sub Foo (Bar As String)‘定义一个传地址的过程,其实应该这样写sub Foo(byref Bar as string)
MsgBox Bar '这里显示Bar的值,由于bar被定义成一个字符串,所以自动转换数值36到串36,所以值为串型“36”,也不知道作者想表达什么。
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询