我遇到了FORTRAN 77編寫的模型中的FORTRAN語句。我不知道這意味着什麼。如果有人能夠說出一些亮點,會很高興。Fortran 77:IF語句有一個變量作爲它的參數,然後是標籤語句
下面是代碼的外觀:
IF(NC)20,20,10
注:NC是一個變量(我認爲),以及隨後的標籤說明的數字(我想)。
我的問題是,上述說法是什麼意思?我明白,通常,在「IF」聲明之後,括號中應該有一個參數,例如, (a < 20)。但是,在這種情況下,括號中只有一個變量。
我遇到了FORTRAN 77編寫的模型中的FORTRAN語句。我不知道這意味着什麼。如果有人能夠說出一些亮點,會很高興。Fortran 77:IF語句有一個變量作爲它的參數,然後是標籤語句
下面是代碼的外觀:
IF(NC)20,20,10
注:NC是一個變量(我認爲),以及隨後的標籤說明的數字(我想)。
我的問題是,上述說法是什麼意思?我明白,通常,在「IF」聲明之後,括號中應該有一個參數,例如, (a < 20)。但是,在這種情況下,括號中只有一個變量。
這是一個從Fortran I算起的算術。從F90開始不再提供。它是IBM彙編程序中IBM 3路跳轉指令的直接翻譯。現在沒有多少機器架構有3種跳躍方式。
if (x) 10, 20, 30
意味着
if (x .lt. 0) goto 10
if (x .eq. 0) goto 20
if (x .gt. 0) goto 30 ! if statement not strictly necessary
所以你的情況這意味着
if (nc .le. 0) goto 20
if (nc .gt. 0) goto 10
真的很感謝。一直在尋找答案的日子。 – user3655179
用於IBM瑣事 – agentp
變量可能是前面計算的布爾? – Fabricator
[奇怪的標籤使用]可能的重複(http://stackoverflow.com/questions/6789946/strange-label-usage) –