Re: [VB6 ] if 跟 elseif 的差別

看板Visual_Basic作者 ( 冏rz)時間16年前 (2008/01/26 15:21), 編輯推噓3(301)
留言4則, 1人參與, 最新討論串2/3 (看更多)
1. 程式格式化 (適當的加上縮排和換行) 會比較容易看 雖然問題點不在這 XD ※ 引述《xu3jp68 (信箱爆炸..XD)》之銘言: : For t = 1 To 20 : If t <= 10 Then : u = 1 : If 11 <= t <= 20 Then : u = 2 : End If : End If : Print u : Next t : 上面的程式執行完u全部都是2,為什麼在前10次迴圈他不會顯示1呢? : 或是改成(只有end if 位置的差別) : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : If t <= 10 Then : u = 1 : End if : If 11 <= t <= 20 Then : u = 2 : End If : 一樣全部都是2,那這個跟上面的差別在哪邊呢? : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : 如果希望前10次顯示1後10次顯示2只能用elseif不能直接用if去做嗎? : 新手發問,感謝大家的幫忙。 你的問題在於 11 <= t <= 20 這行 應寫作 11 <= t AND t <= 20 才能如預期運作。 11 <= t <= 20 會被解讀為 (11 <= t ) <= 20 true <= 20 1 <= 20 [布林值 true 會被轉為 int 的 1] true 該表述式為恆真,所以你的 u 永遠都是 2 -- 鬼壓床怎麼辦 騎上去啊 Blog: http://blog.roodo.com/clifflu/ Since October, 2006 Photo Galelry: http://clifflu.pixnet.net/ 沒有了 T_T -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.194.36

01/26 15:24, , 1F
感謝你,那請問用elseif跟if之間的執行速度有差別嗎?
01/26 15:24, 1F

01/26 15:39, , 2F
第一個程式改完,之後變成全部都是1,不知道問題出在哪邊?
01/26 15:39, 2F

01/26 15:56, , 3F
恩..我查書知道了,不過還是不知道既然if跟ifelse都可以做
01/26 15:56, 3F

01/26 15:57, , 4F
一樣的事情,那其中有什麼差別呢,例如執行速度等等。
01/26 15:57, 4F
文章代碼(AID): #17cjza6Q (Visual_Basic)
文章代碼(AID): #17cjza6Q (Visual_Basic)