要弄清楚這兩個(gè)問(wèn)題,就要明白For循環(huán)語(yǔ)句的語(yǔ)法規(guī)則:
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)德州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
For循環(huán)語(yǔ)句,首先是判斷循環(huán)條件,如果循環(huán)條件不合理,則循環(huán)不執(zhí)行。
那么看第一個(gè)語(yǔ)句,循環(huán)范圍是 i = -3.5 to 5.5,顯然這個(gè)是一個(gè)從-3.5到5.5的遞增范圍,可是后面的Step卻是一個(gè)負(fù)數(shù),表示以0.5的步長(zhǎng)遞減。取值范圍要求從小到大,可是步長(zhǎng)改變卻是由大變小,顯然這個(gè)循環(huán)條件自相矛盾,所以循環(huán)將不會(huì)執(zhí)行,也就是循環(huán)執(zhí)行的次數(shù)是0次!
如果循環(huán)條件合理,則開始執(zhí)行循環(huán)語(yǔ)句,直到根據(jù)步長(zhǎng)變換,下一個(gè)值超出循環(huán)范圍則終止。
For j = 6 to 2 Step -2
Next
完整寫法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一個(gè)j值。結(jié)合本題,下一個(gè)j值等于6-2=4,這個(gè)時(shí)候,就是循環(huán)語(yǔ)句的第二個(gè)規(guī)則,判斷循環(huán)變量的值是否超出循環(huán)范圍,我們這里的j=4,顯然是在6 to 2這個(gè)范圍之內(nèi),所以循環(huán)繼續(xù),到下一個(gè)j的時(shí)候?yàn)?,依然在循環(huán)范圍內(nèi);到這里,6,4,2我們的循環(huán)執(zhí)行了3次,準(zhǔn)備第4次循環(huán)的時(shí)候j = 2 -2 = 0超過(guò)了6 to 2這個(gè)范圍,那么循環(huán)終止。
所以i循環(huán)內(nèi)的每一個(gè)j循環(huán)將執(zhí)行3次。
會(huì)溢出的.后面算到幾萬(wàn)的幾萬(wàn)次方肯定溢出..
ON ERROR RESUME NEXT
Dim A As Long
Dim B As Long
Dim C As Double
c=0
A = InputBox("type a number", "type","")
For B = 1 To C
c = c + b ^ b
Next b
MsgBox "result" c
值傳遞和地址傳遞(引用)的而導(dǎo)致的問(wèn)題。
在For Each 的時(shí)候
當(dāng)對(duì)象是值對(duì)象的時(shí)候,等于獲得到一個(gè)副本。
當(dāng)對(duì)象是引用對(duì)象的時(shí)候,則是獲得到一個(gè)指針。
而在For To 的時(shí)候
無(wú)論對(duì)象是什么,你都獲得到這個(gè)集合指定位置的指針。
更詳細(xì)的,可以請(qǐng)參考以下內(nèi)容,或直接去官方的MSDN了解
關(guān)于值類型和引用類型:
如果數(shù)據(jù)類型在它自己的內(nèi)存分配中存儲(chǔ)數(shù)據(jù),則該數(shù)據(jù)類型就是“值類型”。“引用類型”包含指向存儲(chǔ)數(shù)據(jù)的其他內(nèi)存位置的指針。
值類型
值類型包括:
所有數(shù)字?jǐn)?shù)據(jù)類型
Boolean、Char 和 Date
所有結(jié)構(gòu),即使其成員是引用類型
枚舉,因?yàn)槠浠A(chǔ)類型總是 SByte、Short、Integer、Long、Byte、UShort、UInteger
或 ULong
引用類型
引用類型包括:
String
所有數(shù)組,即使其元素是值類型
類類型,如 Form
委托
非類型的元素
以下編程元素未限定為類型,因?yàn)槟鸁o(wú)法將它們中的任何一個(gè)指定為聲明元素的數(shù)據(jù)類型:
命名空間
模塊
事件
屬性和過(guò)程
變量、常數(shù)和字段
使用對(duì)象數(shù)據(jù)類型
可以將引用類型或值類型指派給 Object 數(shù)據(jù)類型的變量。Object
變量總是存儲(chǔ)指向數(shù)據(jù)的指針,從不存儲(chǔ)數(shù)據(jù)本身。然而,如果將值類型指派給 Object 變量,則 Object
變量將表現(xiàn)得像存儲(chǔ)自己的數(shù)據(jù)一樣。有關(guān)更多信息,請(qǐng)參見(jiàn) Object 數(shù)據(jù)類型。
通過(guò)將 Object 變量傳遞給 Microsoft.VisualBasic
命名空間中 Information
類的 IsReference
方法,可以確定該變量是用作引用類型還是值類型。如果 Object 變量的內(nèi)容表示引用類型,則 Information.IsReference 返回 True。