gpt4 book ai didi

arrays - 从文件读取并存储在数组中的问题

转载 作者:行者123 更新时间:2023-12-02 02:26:31 28 4
gpt4 key购买 nike

使用 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 时退出,将大小设置为读取的项目数。

关于arrays - 从文件读取并存储在数组中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708217/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com