输出的结果怎么这样啊??高人指点。

QQ472152323 2011-07-31 01:35:43
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
怎么回事??
高人指点。
...全文
73 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
伊人 2011-07-31
  • 打赏
  • 举报
回复
过程中的参数在接收数据时要看其变量前有无关键字ByVal,如果有则是按值传递,即只接收不传回;如果没有或有ByRef,则是按地址传送,也就是说过程中最终的变量值要传回调用处。
贝隆 2011-07-31
  • 打赏
  • 举报
回复
变量,默认都是Byval 的
QQ472152323 2011-07-31
  • 打赏
  • 举报
回复
a 是按值传递,b是按址传吗????
贝隆 2011-07-31
  • 打赏
  • 举报
回复
Byval
按值
一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。



ByRef
按地址
一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址传递参数。
贝隆 2011-07-31
  • 打赏
  • 举报
回复
楼主基础没有打好,难道你不知道函数fun中a是传值,也就是传a的一个副本?你做了运算,但不是对a做运算,是对其副本做运算
要想达到你的目的,参考如下代码:


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

更新历史3.0: 环境:jdk1.5 tomcat5.5.数据库用oracle.如果不用oracle的话.可能菜单表的查询出不来.我的菜单表的查询允许选择上级菜单查询该菜单所对应的所有下级菜单.所以用了递归查询. criteria.add(Restrictions.sqlRestriction("MENUITEM_ID in(select a.MENUITEM_ID from Wuxin_MENUITEM a connect by prior a.MENUITEM_ID = a.PARENT_ID"+ " start with a.MENUITEM_ID = '"+parentId+"')" )); mysql和sqlserver不知道有没有start with这个sql. jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载相对应的包. 为了上传jar.我专门申请了一个网盘.所有下载地址在下载下来的这个rar包里面都有详细的介绍和说明. 说一下这个rar里面带的东西.除了源码外带了几篇文档.分别是关于项目中所使用的dwr的配置.table组件的配置说明文档.junit单元测试说明文档.还有我写这个例子时应该注意的一些东西.外加一些关于struts2和hibernate的技巧心得整理. 说一下这次3.0更新的内容.可能大家在我的博客里面已经看到了相关的日志.我懒.下面就把那个日志抽出来当说明了啊.有兴趣的就下载下来瞅瞅.偶也是菜鸟的.写的不好不要骂街啊..在此感谢各位网友的期待和支持. 这几天我终于闲下来了.也有时间开始写struts2的第三个框架版本了.主要是针对写了第二个版本之后的一些问题做一些回答才做得第三个版本.中间加一些小技巧之类的.不过我觉得还是值得一些关注的朋友期待的. 如果没有意外.这个版本应该是一个定型的版本了.在这段期间.有很多朋友问的问题大部分其实都已经不是struts2的范围了.有些都是hibernate和spring的.介于前两个版本都是单表.对hibernate的引用还是比较少的.这次索性写个多对多关系好了.打算写个权限系统好了.我就使用权限5张表.用户表,权限表.角色表.用户角色表和角色菜单表.(麻雀虽小...五脏俱全了啊...)当然这个写起来就费劲一些了.... 为了能够更好的使用各方面的技术.所以这次打算弄个大锅(弄个大锅也很累的.不过大家可能到时候配这个框架也就比较麻烦点了...不过我觉得还是能多学一下总是好的.) 说一下大锅的内容吧.自己写了个分页组件.(不是太好看...).现在ajax都已经不是什么新鲜东东了..我在里面配的是dwr..(这个简单些..其他的我看着晕...).没有自己写页面输出.我使用的table组件是:eXtremeComponents.自我感觉这个组件比较好.所以把这个组件配入进来了.随着这篇文章的发布.我会陆续在博客中更新相关针对与当前项目模块的关于struts2的一些知识点.当作大家一起进步了... 也希望各位高人多多指点啊... 这个版本起名为Struts2Test3.0.以后的日志相关内容就为关于Struts2Test3.0例子的相关内容.

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧