2012-07-12 113 views
2

我試圖教我自己fortran所以我可以解開一箇舊程序並將其用於我們自己的使用。我想不通這是什麼說法呢:這個If語句如何工作?

if(s - fm) 198, 198, 197 

s - fm是不是可以是真或假,右邊的條件?

而當它通過控制到標198線,它然後繼續到程序的結束?它怎麼知道什麼時候再回到198再執行197?

回答

8

這是「陳舊的」形式的I​​F:

IF (''arithmeticExpression'') ''firstLineNumber'', ''secondLineNumber'', ''thirdLineNumber'' 

在第二種形式中,算術表達式。如果表達式的計算結果爲負數,則執行繼續執行第一個行號。如果表達式的計算結果爲零,則執行繼續執行第二個行號。否則,執行繼續在第三行號碼。

這是一個「三向轉向」,取決於表達的符號。

在更傳統的類C語言是木頭是

/* IF(a) label1, label2, label3 */ 

if(a > 0) 
{ 
    goto label3; 
} else 
if(a < 0) 
{ 
    goto label1; 
} else 
{ 
    // a == 0 
    goto label2; 
} 

你的情況下,包含兩個標籤198就像

if(s <= fm) { goto lbl198; } else { goto lbl197; } 

編號: