例如,我想以1爲增量從1循環到500.然而,對於每8個循環,我想跳過接下來的18個循環(使do變化增加18)。我怎麼做?如何在Fortran的do循環中跳過幾次迭代
我的代碼是:
event = 0
do i = 1,500,2
event = event + 1
if (event .eq. 8) then
i = i + 18
event = 0
endif
enddo
但是,我得到了錯誤:「一個DO體內的DO變量不應出現在變量定義背景」。基本上我不能改變循環中的變量「我」。那麼我應該如何編寫代碼來實現它呢?
謝謝。
這是一個錯誤,因爲Fortran允許根據您的'do i ...'行完全基於計算出的數字來優化您的循環(並且必須知道迭代次數)。這是Fortran爲了優化目的而犧牲的(很多)事情之一。 – casey