[英]Data Statement in fortran
我試着在fortran中寫一些數據......
program Problem
DIMENSION X(8), W(8)
DATA X /0.0950125098D0, 0.2816035507D0, 0.4580167776D0, 0.6178762444D0
+ , 0.7554044083D0, 0.8656312023D0, 0.9445750230D0, 0.9894009349D0/
DATA W /0.1894506104D0, 0.1826034150D0, 0.1691565193D0, 0.1495959888D0
+ , 0.1246289712D0, 0.0951585116D0, 0.0622535239D0, 0.0271524594D0/
D = 0.D0
DO NJ=1,8
D = D + X(NJ) + W(NJ)
ENDDO
write(*,*) D
end
但我總是在(1)得到錯誤消息Unexpected屬性聲明語句
有人知道為什么嗎?
正如其他人已經說過的那樣,你應該使用新的fortran標准。 如果你這樣做,你可以刪除用於表示延續線的“+”(應該在第6列),而是在應該繼續的行的末尾添加一個&符號“&”。 然后程序編譯並運行。 但由於X和W是單精度,因此在數據語句中使用了太多數字。 使用隱式none並聲明所有變量。 並得到一本教科書。
下面是您的代碼的一個小更新,允許它編譯:
program Problemless
dimension X(8), W(8)
data X /0.0950125098D0, 0.2816035507D0, 0.4580167776D0,
+ 0.6178762444D0, 0.7554044083D0, 0.8656312023D0,
+ 0.9445750230D0, 0.9894009349D0/
data W /0.1894506104D0, 0.1826034150D0, 0.1691565193D0,
+ 0.1495959888D0, 0.1246289712D0, 0.0951585116D0,
+ 0.0622535239D0, 0.0271524594D0/
D = 0.D0
do NJ=1,8
D = D + X(NJ) + W(NJ)
enddo
write(*,*) D
end
您的代碼是用固定源代碼形式編寫的(參見Fortran標准的 6.3.3節)。 這意味着除了第72列之外你不能擁有任何東西。我所做的就是在上面糾正這一點。
如果您正在學習fortran,我建議您停止使用固定格式並開始使用免費格式。
此帖子不需要投票
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.