当前位置:编程学习 > VB >>

为什么我返回的值是“0”?

--------------------编程问答-------------------- Function jiang(zx, zj)  as string
--------------------编程问答-------------------- 另外需要跟下程序看是不是中间退出函数了。 --------------------编程问答-------------------- 这次显示是“#value” --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 单步执行  跟踪一下 --------------------编程问答-------------------- 你还是给出输入的值 让大家能够帮你分析 --------------------编程问答-------------------- zx = 2041020283011
zj = 10111213262811
--------------------编程问答-------------------- Mod 参与运算的表达式的值不能超过长整型范围。

求余改为:
x-int(x/y)
--------------------编程问答-------------------- For i = 1 To 6
  For j = 1 To 6
  If r(i) = jr(j) Then
  p = p + 1
  End If
  Next j
Next i

//此时i=6,j=6

r(i) = (zx Mod 10 ^ (8 - i) - zx Mod 10 ^ (7 - i)) / 10 ^ (7 - i)

//相当于r(6)=(zx mod 10^2-zx mod 10^1)/10^1

b = zx Mod 10 ^ 2

jr(i) = (zj Mod 10 ^ (8 - i) - zj Mod 10 ^ (7 - i)) / 10 ^ (7 - i)

//相当于jr(6)=(zj mod 10^2-zj mod 10^1)/10^1
jb = zj Mod 10 ^ 2


--------------------
不知道你这是要干什么... --------------------编程问答-------------------- zx = 2041020283011
zj = 10111213262811

Function jiang(zx, zj)

If zx - 10 ^ 12 < 0 Then
jiang = "自选错误"
Exit Function
End If

If zj - 10 ^ 12 < 0 Then
jiang = "中奖号错误"
Exit Function
End If

Dim r(6) As Single
Dim jr(6) As Single
Dim b, jb, p, i, j

b = zx Mod 10 ^ 2
jb = zj Mod 10 ^ 2
p = 0

For i = 1 To 6
    r(i) = (Int(zx / 10 ^ (2 * (8 - i))) - Int(zx / 10 ^ (2 * (7 - i)))) / (10 ^ (7 - i))
    For j = 1 To 6
        jr(j) = (Int(zj / 10 ^ (2 * (8 - j))) - Int(zj / 10 ^ (2 * (7 - j)))) / (10 ^ (7 - j))
        If r(i) = jr(j) Then p = p + 1
    Next j
Next i

If b = jb Then
    If p = 6 Then
        jiang = "一等奖"
    ElseIf p = 5 Then
        jiang = "三等奖"
    ElseIf p = 4 Then
        jiang = "四等奖"
    ElseIf p = 3 Then
        jiang = "五等奖"
    ElseIf p < 3 Then
        jiang = "六等奖"
    End If
Else
    If p = 6 Then
        jiang = "二等奖"
    ElseIf p = 5 Then
        jiang = "四等奖"
    ElseIf p = 4 Then
        jiang = "五等奖"
    ElseIf p < 4 Then
        jiang = "未中奖"
    End If
End If

End Function
返回值“value”

--------------------编程问答-------------------- --------------------编程问答-------------------- 下次再也不敢抽奖了
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,