【发布时间】:2015-06-11 01:59:29
【问题描述】:
我收到运行时错误“列表输入中第 11 项的错误整数”引用以下代码行。
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 项是一个浮点数。 假设您正在使用隐式类型,
k是一个整数。您可以将整数读入实数,但不能将实数读入整数。 -
是的,我正在使用隐式类型。为什么 k 自动成为整数,更重要的是,我该如何更改它?
-
没关系。我想到了。我会在这里留下一张便条,以备后人之用。由于隐式类型,变量名称决定了它的类型。 docs.oracle.com/cd/E19957-01/805-4939/z40007365fbc/index.html 谈论字母表示整数的含义。