最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VBS For Next循環(huán)的陷阱分享

 更新時間:2013年01月14日 00:06:55   作者:  
在《VBS For Next循環(huán)的一些細節(jié)》中說到了 For Next 循環(huán)的控制變量僅僅在循環(huán)開始前求值一次,但是其中存在一處陷阱
昨天寫《QWERTY密碼:加密與解密》的時候,為了得到26個字母的字符串,寫了這樣一個 For Next 循環(huán):
復(fù)制代碼 代碼如下:

'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/10
For i = 65 To (i + 25)
s = s & Chr(i)
Next
WScript.Echo s

運行后卻發(fā)現(xiàn)沒有字符串輸出,覺得很奇怪,于是簡單修改了一下:
復(fù)制代碼 代碼如下:

'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/10
For i = 65 To (i + 25)
WScript.Echo Chr(i)
s = s & Chr(i)
Next
WScript.Echo s

仍然沒有任何輸出,說明 For Next 循環(huán)中的語句根本就沒有執(zhí)行,百思不得其解,于是請教了一下預(yù)言家晚報,他很快就發(fā)現(xiàn)了陷阱所在:
復(fù)制代碼 代碼如下:

'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/10
For i = 65 To (i + 25) Step -1
WScript.Echo Chr(i)
s = s & Chr(i)
Next
WScript.Echo s

這次種終于有輸出了,相信聰明的你也一定發(fā)現(xiàn)了陷阱在哪里。For Next 循環(huán)的求值順序并不是按照從左到右的,表達式 (i + 25) 在 i = 65 之前就已經(jīng)求值了,而此時 i 的值是默認的0,所以原循環(huán)相當(dāng)于:
復(fù)制代碼 代碼如下:

'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/10
For i = 65 To 25
s = s & Chr(i)
Next
WScript.Echo s

當(dāng)然不會有輸出,最后我把程序改成了這樣:
復(fù)制代碼 代碼如下:

'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/10
For i = Asc("A") To Asc("Z")
s = s & Chr(i)
Next
WScript.Echo s

既直截了當(dāng),又不會碰到 For Next 陷阱。

相關(guān)文章

最新評論

兴和县| 仁布县| 双柏县| 温州市| 日土县| 泸水县| 凉山| 平阳县| 临泉县| 商洛市| 塘沽区| 扎兰屯市| 古蔺县| 日喀则市| 郯城县| 中江县| 孝昌县| 莆田市| 濮阳县| 金山区| 定兴县| 大城县| 娄烦县| 合水县| 茶陵县| 伊金霍洛旗| 南和县| 敦煌市| 华宁县| 古丈县| 黄骅市| 米脂县| 长宁县| 浦江县| 新河县| 汕尾市| 巴彦县| 卢龙县| 嘉禾县| 莆田市| 小金县|