在傳統的FORTRAN代碼片段(實際編譯不明,懷疑它是大約FORTRAN-77),我發現像這樣的語句:傳統Fortran格式編輯描述符語法 - 類型之前的編號?
100 FORMAT(5I7.2)
這我理解的意思:
整數
寬度7個字符,其中
2的字符是小數(例如,「123 45.67')
我無法找到的是對'5'領先的解釋。我認爲這意味着「重複羣體」的作用,比如說 - 七個整數的五組......等等。
這個解釋是否正確?
在傳統的FORTRAN代碼片段(實際編譯不明,懷疑它是大約FORTRAN-77),我發現像這樣的語句:傳統Fortran格式編輯描述符語法 - 類型之前的編號?
100 FORMAT(5I7.2)
這我理解的意思:
整數
寬度7個字符,其中
2的字符是小數(例如,「123 45.67')
我無法找到的是對'5'領先的解釋。我認爲這意味着「重複羣體」的作用,比如說 - 七個整數的五組......等等。
這個解釋是否正確?
Fortran 2008定義了第10.7.2.2節中的I
編輯描述符。您的問題的相關段落是(節選):
1 Iw和Iw .m編輯描述符指示要編輯的字段佔據w位置,除非w爲零。 當w爲零時,處理器選擇字段寬度。在輸入時,w不能爲零。指定的輸入/輸出 列表項應爲整型。
5 Iw .m編輯描述符的輸出字段與Iw編輯描述符的輸出字段相同,只不過數字字符串 至少包含m個數字。如有必要,包含足夠的前導零以實現最小m位數。
這意味着I7.2
將是7位數字寬,至少兩位數字將始終顯示,0填充。
在編輯描述符中的前述5
是重複規範(Fortran的2008 10.3.1第1段),它是下列編輯描述符的重複計數。
放在一起,5I7.2
將輸出5個整數,每個7位數的寬度顯示至少2個數字,零填充到兩個數字(如有必要)。
我稍微不願意將此稱爲https://stackoverflow.com/q/13162910的副本,但這無疑是相關的。你對「I7.2」的解釋不太對,也意味着可能的前導零。 – francescalus
不是重複,但答案很容易在任何fortran文本/教程中找到。 – agentp