vb题 返回值问题

[复制链接]
查看11 | 回复3 | 2011-3-18 18:11:12 | 显示全部楼层 |阅读模式
和你的fun()函数的传值方式有关ByRef传的是X的地址,X的值会因为每次调用fun()而改变 Private Function fun(ByRef n As Integer)Text1=Str(fun(x)+fun(x)+fun(x))Text1=Str(4+16+256)结果为276如果改为 Private Function fun(ByVal n As Integer)ByVal传值方式,X的值就不会因为调用fun()而改变结果就会是你预期的12...
回复

使用道具 举报

千问 | 2011-3-18 18:11:12 | 显示全部楼层
注意ByRef是按地址传递当x=2时fun(x)+fun(x)+fun(x)第一个x=2第二个x=4第三个x=16所以最后输出276...
回复

使用道具 举报

千问 | 2011-3-18 18:11:12 | 显示全部楼层
Private Function fun(ByRef n As Integer)改为Private Function fun(Byval n As Integer)就会等于12了。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行