Re: [VB6 ] if 跟 elseif 的差別
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
01/26 15:24, 1F
推
01/26 15:39, , 2F
01/26 15:39, 2F
推
01/26 15:56, , 3F
01/26 15:56, 3F
→
01/26 15:57, , 4F
01/26 15:57, 4F
討論串 (同標題文章)