[.NET] 關於FOR

看板Visual_Basic作者 (JEFF)時間7年前 (2017/06/06 14:07), 編輯推噓3(3012)
留言15則, 6人參與, 最新討論串1/2 (看更多)
請輸入專案類型(網站專案或者應用程式專案): 我是使用2005版本 因為是VB初學者關於某部分程式碼有點不懂 for i=10 to 0 msgbox(i) next 想請問這段程式碼為何在VB裡不是執行一次才結束? 而卻是不執行 先謝謝各位回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.70.187.244 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1496729249.A.A25.html

06/06 14:12, , 1F
從40年前basic的for就是往上加 所以不會執行
06/06 14:12, 1F

06/06 14:12, , 2F
要讓他往下跑要跟他講清楚條件 你的書上會有
06/06 14:12, 2F

06/06 14:15, , 3F
可是不是應該做完一次msgbox之後i才+1 超出i=10 to 0?
06/06 14:15, 3F

06/06 15:15, , 4F

06/07 09:05, , 5F
for有pre-和post-condition BASIC系列的for一向屬前者
06/07 09:05, 5F

06/07 09:05, , 6F
至少在Microsoft手上都是 現代語言的for也大都是
06/07 09:05, 6F

06/07 22:54, , 7F
VB 的迴圈是指定開始與結束,並沒有至少做一次這種事
06/07 22:54, 7F

06/07 22:54, , 8F
For
06/07 22:54, 8F

06/08 15:47, , 9F
你的寫法應該改這樣才正確
06/08 15:47, 9F

06/08 15:48, , 10F
for i= 10 to 0 step -1
06/08 15:48, 10F

06/08 15:50, , 11F
msgbox(i)
06/08 15:50, 11F

06/08 15:50, , 12F
next
06/08 15:50, 12F

12/26 16:40, , 13F
先判斷後執行,判斷10已經大於0所以不執行,如果用樓上
12/26 16:40, 13F

12/26 16:41, , 14F
方法step =-1向下遞減則會跑十次才結束
12/26 16:41, 14F

12/26 16:43, , 15F
您可能把for這個函數跟Do或while語法搞混了
12/26 16:43, 15F
文章代碼(AID): #1PDaQXeb (Visual_Basic)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
3
15
文章代碼(AID): #1PDaQXeb (Visual_Basic)