問什麼我家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
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⤋