亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解關于語句fori=1 to na(i,1)= 1a(i,i)= 1next的問題?如下題

求解關于語句fori=1 to na(i,1)= 1a(i,i)= 1next的問題?如下題

BIG陽 2021-06-22 18:15:58
for next 語句看不懂啊Sub For_test()For i = 1 To 10For j = 1 To 10For k = 1 To 10i = i + 1Next kNext jNext iEnd Sub這是個例題,叫測試嵌套循環的計數器.這是個不滿足循環條件的例題,i的范圍不對,書上說i運行到最后為101,不符合1到10的范圍,所以最后程序將被退出.我現在都看不懂啊.為什么是101啊
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

這道題叫測試嵌套循環的計數器.首先之所以說i的范圍不對,不滿足循環條件,是因為一般在FOR循環中循環變量會根據步長值自動增加或減少,所以在循環體內不建議改變循環變量的值,而本題中循環體里出現了i=i+1的語句,就改變了循環變量i的值了.
其次,運行結果是是101,本題是三層嵌套循環是,i控制第一層循環,j控制第二層,k控制第三層,當循環開始時,i去值1,j取值1,k取值1執行循環體一次,i累加1,也就是i變為2此時k自動增加一個步長變成2,因為k的取值實在1到10之間判斷條件,滿足,所以繼續執行循環體,i繼續累加,如此重復直到k取值為10時,i累加的結果變成11,k繼續增加一個步長變成11超出范圍,到此第三層循環退出,第二層循環的j繼續遞增一個步長變成了2,此時又重新進入第三層循環k重新從1循環到10,i繼續每次累加1,累加的結果是i變成21,當k去取10之后,繼續遞增一個步長值變成11,第三層循環有一次推出,第二層循環的j繼續遞增一個步長值變成3,第三層循環又重新開始,如此重復.當第二層循環的變量j循環到10的時候,第三層循環的變量k又從1循環到10,i的遞增結果變成了101,k繼續遞增一個步長值變成11不符合條件,結束第三層循環,第二層的j也遞增一個步長變成11不符合條件,第二層循環也結束,第一層的循環變量是i,i遇到next i語句繼續遞增變成102,判斷條件不成立,第一層循環也結束,所以最后程序結束以后,i,j ,k三個循環變量的值應該是102,11,11.
最后需要強調的是對于for循環,程序執行到next語句時,本層的循環變量自動遞增會遞減一個步長值,然后根據終值條件判斷是否滿足,如果滿足則循環繼續進行,不滿足則本層循環結束.



查看完整回答
反對 回復 2021-06-28
  • 1 回答
  • 0 關注
  • 562 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號