Fortran 运行时错误 "bad integer for item 11 in list input"
Fortran runtime error "bad integer for item 11 in list input"
我收到引用以下代码行的运行时错误 "bad integer for item 11 in list input"。
read(2,*)a,b,c,d,e,f,g,h,theta1,phi1,k,l,m,n,o,
$ p,theta2,phi2,s,theta3,phi3,
$ r1,x1,y1,r2,x2,y2,r3,x3,y3,z1,z2,z3
其读取的行是
1 255.11211 0.2876 165.11404 90 4 8 0.19173 90 165.11404 0.09587 90 345.11404 4 4 0.0764 89.99915 -64.51149 0.11131 90.0015 24.23892 470.10565 -454.32263 120.7902 264.91144 114.00389 -239.12589 322.2894 293.87778 132.3114 0.01236 0.00697 0.00006 0.42619 -0.19278
所以混合了整数和实数,但我认为这没问题,因为我使用了 * 格式描述符而不是指定的格式。
我正在使用 gcc 编译器。
您列表中的第 11 项是 0.09587
,是真的。您正在使用列表定向输入,对于实数,使用 F
编辑描述符将其解释为数值(Fortran 2008 Cl. 10.10.3 第 4 段)。对应于 F
编辑描述符的输入列表项必须是实数或复数(Fortran 2008 Cl. 10.7.2.3.1 第 1 段)。
要解决此问题,您需要将 k 定义为实变量。您在评论中注意到您正在使用隐式类型(其中以 i-n 开头的变量是整数类型,其余默认为实数)。要明确声明 k 为实数,请使用:
real :: k
最佳做法是禁用隐式键入 (implicit none
) 并显式键入所有变量。
我收到引用以下代码行的运行时错误 "bad integer for item 11 in list input"。
read(2,*)a,b,c,d,e,f,g,h,theta1,phi1,k,l,m,n,o,
$ p,theta2,phi2,s,theta3,phi3,
$ r1,x1,y1,r2,x2,y2,r3,x3,y3,z1,z2,z3
其读取的行是
1 255.11211 0.2876 165.11404 90 4 8 0.19173 90 165.11404 0.09587 90 345.11404 4 4 0.0764 89.99915 -64.51149 0.11131 90.0015 24.23892 470.10565 -454.32263 120.7902 264.91144 114.00389 -239.12589 322.2894 293.87778 132.3114 0.01236 0.00697 0.00006 0.42619 -0.19278
所以混合了整数和实数,但我认为这没问题,因为我使用了 * 格式描述符而不是指定的格式。
我正在使用 gcc 编译器。
您列表中的第 11 项是 0.09587
,是真的。您正在使用列表定向输入,对于实数,使用 F
编辑描述符将其解释为数值(Fortran 2008 Cl. 10.10.3 第 4 段)。对应于 F
编辑描述符的输入列表项必须是实数或复数(Fortran 2008 Cl. 10.7.2.3.1 第 1 段)。
要解决此问题,您需要将 k 定义为实变量。您在评论中注意到您正在使用隐式类型(其中以 i-n 开头的变量是整数类型,其余默认为实数)。要明确声明 k 为实数,请使用:
real :: k
最佳做法是禁用隐式键入 (implicit none
) 并显式键入所有变量。