dim p1(2) as double,p2(2) as double
p1(0) = 0 : p1(1) = 1 : p1(2) = 2
p2(0) = 0 : p2(1) = 1 : p2(2) = 2
问,判断两个数组相等,只能用for ... next 方法吗
  for ii =  0 to 2
    if p1(0) = p2(0) and p1(1) = p2(1) and p(2) = p2(2) then    end if
  next ii

解决方案 »

  1.   

    目前还没想出除了循环比较之外的方法:    Dim i As Integer, IsSame As Boolean
        IsSame = True
        For i = 0 To 2
            If Abs(p1(i) - p2(i)) > 1E-30 Then      '由于浮点数的不精确性, 所以比较两浮点数是否相等的方法有些特殊
                IsSame = False
                Exit For
            End If
        Next i
        If IsSame Then
            MsgBox "相同"
        End If
      

  2.   

    '如果数组声明为变体或串型,可以
    Private Sub Form_Load()
    Dim p1(2), p2(2)
    p1(0) = 0: p1(1) = 1: p1(2) = 2
    p2(0) = 0: p2(1) = 1: p2(2) = 2
    S1 = Join(p1(), "|")
    S2 = Join(p2(), "|")
    If S1 = S2 Then
    MsgBox "相等"
    End If
    End Sub