| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 722 人关注过本帖
标题:为什么会导致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
快速回复:为什么会导致VB6.0死掉
数据加载中...
 
   



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

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