[問題] 關於continue這個指令上的問題

看板Fortran作者 (Try It)時間15年前 (2009/07/10 15:11), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/2 (看更多)
想請教各位 在彭老師的書中提到 continue這個指令沒有實際的用途,經常拿來做結束迴圈 可是我還是不太懂它到底是在做什麼 因為最近看到的程式中有一部份連續用了幾次continue的指令 讓我搞不懂他執行的順序到底是如何? 附上部份的程式碼給各位看看 ===================================================================== do 1000 i=2,ii-1 do 1000 j=2,ij-1 temp(i,j)=e(i,j)+0.125*(e(i+1,j)+e(i,j-1)+e(i,j+1) & +e(i-1,j)-4*e(i,j))+0.0625*(e(i+1,j+1)+e(i-1,j+1) & +e(i-1,j-1)+e(i+1,j-1)-4*e(i,j)) 1000 continue do 2000 i=1,ii temp(i,1)=e(i,1) temp(i,ij)=e(i,ij) 2000 continue do 3000 i=1,ij temp(1,i)=e(1,i) temp(ii,i)=e(ii,i) 3000 continue do 4000 i=1,ii do 4000 j=1,ij e(i,j)=temp(i,j) 4000 continue ====================================================================== 因為無法找到原作者,無法問到他這樣寫的目的為何? 所以想請教板上的各位,有沒有人看得懂的可以解釋給我聽 另外如果我想改寫不使用continue這個指令的話, 可以改用end do來結束do loop是嗎? ps:怕我自己在問題上描述的不清楚,如果各位看不懂的話可以再提醒我 我再來說明,不好意思。 先謝謝各位了! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.234

07/10 16:38, , 1F
這是舊格式啦! 兩個 do 1000 到 1000 continue 表示雙迴圈。
07/10 16:38, 1F

07/10 16:40, , 2F
end do 要有對應的 do,也就是幾個迴圈就要有幾對 do / end do
07/10 16:40, 2F

07/10 16:41, , 3F
更正=> 幾層
07/10 16:41, 3F
文章代碼(AID): #1ALkcd88 (Fortran)
文章代碼(AID): #1ALkcd88 (Fortran)