标题:sub 过程调用!为什么输出后是 32,42 ?
只看楼主
easonzgf
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2014-12-4
结帖率:75%
已结贴  问题点数:10 回复次数:2 
sub 过程调用!为什么输出后是 32,42 ?
Private Sub Command1_Click()

    Dim x As Integer, y As Integer
    x = 32: y = 42
    Call PCS(x, y)
    Print x; y
    End Sub
 Public Sub PCS(ByVal n As Integer, ByVal m As Integer)
    n = n Mod 10 + 1
    m = m Mod 10 + 1
  
End Sub
2014-12-05 20:55
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:10 
ByVal 是传值,你在子程序里怎么弄都不影响调用他的过程里的变量,应使用byref(默认的都是这种),传送变量地址,这时的操作就影响了参数的值。
2014-12-05 21:10
easonzgf
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2014-12-4
得分:0 
回复 2 楼 xzlxzlxzl
谢谢你~
2014-12-05 21:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-439628-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.125667 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved