English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

問什麼我家VB的程式碼中只要有while執行時就會當掉,害我不能練~"~,是電腦的問題還是他本身軟體的問題?(軟體非正當方式取得= =)

2005-11-05 03:20:25 · 5 個解答 · 發問者 Scott 1 in 電腦與網際網路 程式設計

我是用前測式迴圈

Do While ....
....
...
....
Loop

2005-11-05 03:28:05 · update #1

就像這樣,有出現While就會當掉= ="
Dim as a,b Long
a = inputbox("")
Do While a mod 2 = 0
a = a / 2 & b = b + 1
Loop

2005-11-05 12:43:02 · update #2

5 個解答

a = a / 2 & b = b + 1 ←錯在這
你把 a 給等於 a / 2 然後和 b = b + 1 這東西試圖連在一起
所以 a 就變成 FALSE

然後 FALSE mod 2 基本上不能計算,就變成無限迴圈,跳不出框來
把 & 改為 : 吧~

2005-11-05 21:41:50 · answer #1 · answered by Anonymous · 0 0

Dim as a,b Long應該是Dim a,b as Long吧
Do While a mod 2 = 0 意思是如果 a mod 2=0 就進入迴圈, a mod 2<>0就跳出 ,a = a / 2 & b = b + 1的值是False,a並沒有任何改變,因此就進入無窮迴圈了!!有時為了避免進入無窮迴圈可在Do~Loop之間加入Doevents指令,意謂當程式遇到這個指令時會查看電腦有何其他的事要做,此時你也就能停止程式運作了,不過加入Doevents卻會降低程式的效率,是否有需要自己衡量吧.

2005-11-05 17:51:37 · answer #2 · answered by W.J.S. 7 · 0 0

能貼詳細一點咪?
這樣看不出來喔@@
搞不好有很多地方出錯

2005-11-05 04:12:29 · answer #3 · answered by 小毛 5 · 0 0

Do while...Loop 的使用不管在哪種程式語言都一樣要很小心的使用,很多時候一個不注意,程式就無止盡的在 Do while 迴圈裡一直執行,離不開迴圈。就是「無窮迴圈」啦。

2005-11-05 03:56:54 · answer #4 · answered by Ike 3 · 0 0

看你怎麼用while

如果是如下
while (1)
.
.
.
WEND

那一定會當機~
自己再檢查程式碼吧~~!!

2005-11-05 03:25:31 · answer #5 · answered by Anonymous · 0 0

fedest.com, questions and answers