标题:为什么会导致VB6.0死掉
取消只看楼主
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
结帖率:100%
 问题点数:0 回复次数:2 
为什么会导致VB6.0死掉

下面这个程序是我写的二分法查找程序。。。。设了一个数组共三一个数。。。用循环赋值○到30
上面那个是二分查找函数。。。我不知道我写的对不对。。。。但是好像查找的数在数组中的时候就很正常。。。要是
没有。。。。VB6.0就会死掉。。。必需强行关闭才能关掉。。。。不知道 为什么。。。请各位指教

Private Function search$(a() As Integer, key%)
Dim up%, down%, mid%
up = UBound(a)
down = LBound(a)
Do Until down > up
mid = (up + down) \ 2
If a(mid) = key Then
search = Str(mid)
Exit Function
ElseIf a(mid) > key Then
up = mid
Else: down = mid
End If
Loop
search = "没找到哦"


End Function
Private Sub Form_click()
Dim i%, a(30) As Integer, k%
For i = 0 To 30
a(i) = i
Next i
k = Val(InputBox("请输入要查找的数"))
Print search(a, k)

End Sub

搜索更多相关主题的帖子: down mid key 二分法 Integer 
2006-11-25 21:01
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 

我按楼上的改过了。。把up=mid 改成up = mid - 1 把down = mid 改成down = mid + 1
确实可以。。。但我在想。。我要是不改的话,只是每次多加了一个比较的数而已,为什么会导致VB6.0 死掉呢。。。想不通。。。


这个社会太复杂。。。
2006-11-26 14:05
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 
了解了。。。。谢谢楼上的。。。呵呵

这个社会太复杂。。。
2006-11-26 15:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-105350-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016638 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved