程序代码:
Function Hcf(m As Long, n As Long) As LongDim t, r As LongIf m < n Then
    t = m: m = n: n = t
End Ifr = m Mod nDo While r <> 0
    m = n
    n = r
    r = m Mod n
LoopHcf = nEnd Function
----------------------------
Private Sub Command1_Click()
Dim x, y As Long
x = 128
y = 64
Label1.Caption = Hcf(x, y)
End Sub
按理说,不会出现这种问题,可是为什么就有问题?

解决方案 »

  1.   

    将Dim x , y As Long
    改为
    Dim x As Long, y As Long
      

  2.   

    dim x,y as long的结果是x被声明为Variant,y被声明为Long
    按楼上的改过来就对了。
      

  3.   

    VB程序中可不可以查看变量的类型呀。比如
    上面中,dim x,y as long 
    可不可以直观的知道x的类型呀?
      

  4.   

    你 这样Function Hcf(Byval  m As Long, Byval n As Long) As Long  是应该不会出问题的
    你试一试看!