易截截图软件、单文件、免安装、纯绿色、仅160KB

vb循环

Option Explicit
Dim N As Integer
Private Sub Command1_Click()
    Dim A As Integer, B As Integer
    A = 2: B = 3
    For N = 1 To 6
      If N Mod 2 = 0 Then
          B = Fun(N, A) + A
      Else
          A = Fun(B, N) + B
      End If
    Next N
    Print N, A, B
End Sub
Private Function Fun(X As Integer, Y As Integer) As Integer
    X = Y - 1 + N
    Y = X + Y - N
    Fun = X + Y
End Function

为什么是10  27    9
N不是最大就是6了吗?10是怎么得出来的啊
A,B又是怎么算出来的啊 


因为你的fun是以byref形式,所以当你把N传进去的时候在fun里面对于对于函数值得改变N也随之变化了

其实你可以断点debug下就知道了

Private Function Fun(ByVal X As Integer, ByVal Y As Integer) As Integer
    X = Y - 1 + N
    Y = X + Y - N
    Fun = X + Y
End Function

引用
因为你的fun是以byref形式,所以当你把N传进去的时候在fun里面对于对于函数值得改变N也随之变化了

其实你可以断点debug下就知道了

就是这个原因。
VB中,变量的传递默认是 ByRef 的。




相关问答:

关于ASP.net(vb)播放监控录像的问题

我有厂家做的ASP的监控录像(DVR)的局域网播放的源程序与控件,想要用ASP.net做一个视频回放的程序(利用他的控件)但不知如下去做,望各位指点。
先搞清楚他们的控件是怎么用的,
然后就直接用好了.
不过,如 ......

vb如何调用Illustrator(此前Illustrator未启动)?

请教一下:我用vb写了一个调用Illustrator的测试程序,代码很简单:Private Sub Command1_Click()
Dim app As New Illustrator.Application
Dim doc As Illustrator.Document
Dim thislayer As Illustrator.Layer ......

VB 窗口和控件类名是否自动销毁?

昨天谢谢 chenhui530 帮我解决了窗口和类名的动态随机生成。
但现在有一个疑问,就是所有窗口和控件改成的随机类名后,是否在程序关闭时自动销毁了呢?
如果卸载窗体时加上END,会自动进行清理。

最好养成 Re ......

求教下VB如何给D3D游戏写屏 - VB / API

想在warcraft3里进行写屏操作【如对战平台中的胜负提示信息】,效果就像游戏平台中一样,我试过在一窗口中写入文字,然后一直让窗口强制最前,虽然能实现文字显示,但是文字会不断闪烁,而且有不确定BUG,通过论坛搜 ......

vb 难题

form2,form3都分别有一个label1属性是一样

Private Sub Command1_Click()
Dim lbl As Label
if combo1.text="1" then
lbl = Form2.Label1
else
lbl = Form3.Label1
end if
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号