回 帖 发 新 帖 刷新版面

主题:读取数据只能读到小数点前,求助啊

子程序如下:
subroutine initialput
     &(n_unknowns,x0_unknowns)

      implicit real*8 (a-h,o-z) 
      integer n_unknowns
      real*8,dimension(n_unknowns)::x0_unknowns

      [color=FF0000]open
     &(3,FILE='d:\inverse\input4.dat')
     read(3,*)x0_unknowns[/color]      
    close(3)
    write(*,*)"识别参数初始值:"
    do i=1,2
      write(*,1100)i,x0_unknowns(i)
      end do
1100  format(1x,'x0_unknowns(',i2,')=',f16.9) 
    WRITE(*,*)"读入初始参数值完毕!"
    end
在input4中的数据为 56500.5512983973        21080.4373374752     
为什么读取后都只有 56500.0000000000        21080.0000000000    
什么原因啊,请各位大侠指教!

回复列表 (共3个回复)

沙发


不明白,输入文件,全部代码贴上看看.

板凳

编译器?
我用gfortran没有问题
ps:续行&最好写在上一行的末尾

3 楼

[quote]编译器?
我用gfortran没有问题
ps:续行&最好写在上一行的末尾[/quote]
可能楼主喜欢用77风格. (虽然现在显然不是, subroutine顶格了)
如果是77风格比较推荐续行符写在第六个位置上, 前段时间弄openmp在77风格的下的弄并行, OMP语句在后面写续行符, 怎么改都报错(ivf, gfortran), 写到下一行第六的位置就对了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册