作者andychord (AC交流电)
看板Fortran
标题[问题] Write出现NaN 却又神奇的消失!!
时间Fri May 28 23:21:04 2010
因为程式有点长 就不全po上来了
基本上问题重点的部分是
------
! Name, open and head output file:
write (*,*) ' Enter output file name:'
read (*,10) output
open (unit=8, file=output, status='unknown')
t_loop: do j= 1, n
...
...
write (8, 40) t, y, r1 ! y is a 4*1 array
40 format (F14.5, 5E14.5)
...
enddo t_loop
------
程式执行的结果
所有的数值都被写成NaN在output file里
但是神奇的事情是
只要在write变数这个command之前任何一个地方 loop外也行
加入任意一个print*的指令 不管print字或是变数
例如
print*, 'test'
t_loop ...
...
那麽所有的数值就会正正确确的写入档案(表示计算部分应该没有出错?)
请问到底是什麽事情造成了这个奇怪的现象呢?
实在是令我百思不得其解呀....
只能来像板上的高手求救了 感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.158.62.232
1F:推 ckshfire:maybe 40那边的格式有问题? PRINT也给格式试试看 05/29 09:19
2F:→ andychord:谢谢 不过就算用了write(8,*)也还是NaN耶... 05/29 10:00
3F:推 laa7352:我也遇过类似的事 隔天工作站重开重试就好了 05/29 10:52
4F:→ andychord:谢谢 我找一天试一下换一台工作站好了 哈哈 05/30 10:08
5F:推 janhon:有时候有些没有被归零的变数中,有的会事先被填数值了 06/02 05:13