yifanxing1992 发表于 2015-9-23 10:59:40

关于数值读入读出的问题

program main
implicit real*8(a-z)
integer::N,i
real*8::x1(10000),px1(10000),z1(10000),pz1(10000)
real*8::x(10000),px(10000),z(10000),pz(10000)

open(unit=11,file='x.txt')
open(unit=12,file='px.txt')
open(unit=13,file='z.txt')
open(unit=14,file='pz.txt')
open(unit=15,file='cyyb.txt')

N=10000

DO i=1,N
read(11,25)x(i)
x1(i)=x(i)
read(12,25)px(i)
px1(i)=px(i)
read(13,25)z(i)
z1(i)=z(i)
read(11,25)pz(i)
pz1(i)=z(i)
write(15,26)x1(i),px1(i),z1(i),pz1(i)

25 format(1X,F20.11)
26 format(1X,F15.6,6F15.5)
end do

end program
代码如下,但是N=10000时编译上没有问题,但是运行不了,最大的运行只能N=5000可以正常读出数据,其中x,px,z,pz都是10000行的数据,按理说不应该存在越界的问题。那么请问,问题到底出在哪里呢??

pasuka 发表于 2015-9-23 14:01:05

1、format为啥要定义在循环里面?数据的列数和格式会改变?
2、为啥有open无close?

楚香饭 发表于 2015-9-23 17:50:48

求助时,最重要的三个信息:错误提示 > 代码 > 操作系统及编译器版本

yifanxing1992 发表于 2015-9-24 10:45:33

楚香饭 发表于 2015-9-23 17:50
求助时,最重要的三个信息:错误提示 > 代码 > 操作系统及编译器版本

无编译错误,但是运行不了,操作系统WIN7,编译器IVF+VS2010

yifanxing1992 发表于 2015-9-24 10:46:29

pasuka 发表于 2015-9-23 14:01
1、format为啥要定义在循环里面?数据的列数和格式会改变?
2、为啥有open无close?
...

FORMAT 可以尝试放在循环外面,但依然不行,数据列数格式不变

有OPEN 无close 是忘写了,不过应该不影响运行

pasuka 发表于 2015-9-24 12:45:27

yifanxing1992 发表于 2015-9-24 10:46
FORMAT 可以尝试放在循环外面,但依然不行,数据列数格式不变

有OPEN 无close 是忘写了,不过应该不影响 ...
求助时,最重要的三个信息:错误提示 > 代码 > 操作系统及编译器版本
~~~~~~重要的事情说三遍~三遍~三遍
执行读写文件操作有open无close是非常糟糕的陋习,加一个close语句的成本远小于运行出错后再去找bug

fcode 发表于 2015-9-24 13:09:06

运行不了总有点现象可以供你描述的吧?

yifanxing1992 发表于 2015-9-24 21:13:28

pasuka 发表于 2015-9-24 12:45
求助时,最重要的三个信息:错误提示 > 代码 > 操作系统及编译器版本
~~~~~~重要的事情说三遍~三遍~三遍
...

恩恩,问题解决了~~谢谢好心大神!

yifanxing1992 发表于 2015-9-24 21:14:01

fcode 发表于 2015-9-24 13:09
运行不了总有点现象可以供你描述的吧?

问题自己解决了耶,谢谢管理大大

楚香饭 发表于 2015-9-24 21:31:28

为什么不说出来让大家借鉴呢?
页: [1] 2
查看完整版本: 关于数值读入读出的问题