| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 828 人关注过本帖
标题:莫名的数组越界 快晕死啦
只看楼主 加入收藏
a402730324
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1233
专家分:0
注 册:2005-12-1
收藏
 问题点数:0 回复次数:5 
莫名的数组越界 快晕死啦

晕,VB用的不熟,这个怎么就越界啦?
实在是想不通
大家帮忙看看

Dim num(9) As Integer
Dim i As Integer
Dim j, middle As Integer
For i = 0 To 9
num(i) = Rnd() * 90 + 10
Next i

For i = 0 To 9
middle = num(i)
j = i - 1
Do While j >= 0
If num(i) > num(j) Then
num(j + 1) = num(j)
j = j - 1
End If
Loop
num(j + 1) = middle
Next i

For i = 0 To 9
Label1.Text &= num(i) & " "
Next

[此贴子已经被作者于2007-10-11 10:43:59编辑过]

搜索更多相关主题的帖子: num 越界 Integer Dim middle 
2007-10-10 22:01
qlong0728
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:272
专家分:0
注 册:2007-6-15
收藏
得分:0 
你这段
For i = 0 To 9
middle = num(i)
j = i - 1
Do While j >= 0
If num(i) > num(j) Then
num(j + 1) = num(j)
j = j - 1
End If
Loop
num(j + 1) = middle
Next i

不是死循环啦,j最后的值永远都是0

[此贴子已经被作者于2007-10-11 13:01:47编辑过]


程序人员写程序,又拿程序换酒钱。 奔驰宝马贵者趣,公交自行程序员。 不见满街漂亮妹,哪个归得程序员。
2007-10-11 13:00
tntzwc
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:216
专家分:0
注 册:2007-4-28
收藏
得分:0 
如果 num(i) > num(j) 为false 你再看看程序。

努力了有可能失败,不努力一定失败!
2007-10-11 17:54
a402730324
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1233
专家分:0
注 册:2005-12-1
收藏
得分:0 

恩,这个错误我已经找到啦,谢谢两位啦,是有死循环,while循环是会出现死循环。


敢犯强汉者,虽远必诛!——陈汤 不知吾辈何时方能吐出此豪言壮语?
2007-10-11 22:03
tntzwc
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:216
专家分:0
注 册:2007-4-28
收藏
得分:0 
但是数组越界问题在哪?

努力了有可能失败,不努力一定失败!
2007-10-12 08:22
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

没有越界的啊! 就是死循环引起的吧


2007-10-12 13:42
快速回复:莫名的数组越界 快晕死啦
数据加载中...
 
   



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

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