从文件读取并存储在数组中时出现问题

| 使用g96编译器时,出现错误消息:
INTENT(OUT) at variable \'SIZE\' is never set.
下面是我的子例程。您知道如何解决此错误吗?非常感谢!
SUBROUTINE getFileItems(size,itemarray,pricearray,quantityarray)

INTEGER:: iost=0, i=0
INTEGER, INTENT(OUT):: quantityarray(50)
INTEGER, INTENT(OUT):: size
REAL, INTENT(OUT):: pricearray(50)
CHARACTER(20),INTENT(OUT)::itemarray(50)
CHARACTER(20)::namefiletoread

PRINT*,\"Enter the name of file you would like to read: \"
READ*,namefiletoread

OPEN(UNIT=44,FILE = namefiletoread, ACTION = \"READ\", !POSITION=\"REWIND\",IOSTAT=iost)
IF(iost>0)STOP \"Problem opening the file!\"

DO i=1, size
READ(44,\'(A,F6.2,I8)\',IOSTAT=iost), itemarray(i), pricearray(i),quantityarray(i)
IF(iost<0)STOP
END DO


END SUBROUTINE
已邀请:
您需要以某种方式初始化\“ size \”的值。几种可能的方法: 1)如果子程序外部知道大小,请在调用例程中设置intent(in)并设置值, 2)提示用户输入值, 3)在文件的第一行读取数组的长度。 4)如果文件中项目的数量可能不固定,请阅读该文件,直到点击EOF,然后再计算项目数。按下EOF时,使用无限循环并退出,将大小设置为读取的项目数。

要回复问题请先登录注册