[英]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.