24小时热门版块排行榜    

查看: 860  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lijunjiexm

铁虫 (小有名气)

[求助] 求助简单的一个参数传递问题,谢谢

请教一个简单程序MID,
     PROGRAM MID

        implicit real*8(a-h,o-z)
      real*8 ia(5)
      
        open(10,file='inid.dat')
        open(21,file='mesh1.dat')
      read(21,*) numnp,numel

        do 300 i=1,numnp
            read(21,2100) idum,xreal,yreal,ia(i)
            write(10,*) ia(i)       
c         write(10,2100)  idum,xreal,yreal,ia(i)
300   continue
     
2100  format(i5,2x,e15.5,2x,e12.5,2x,i2)

      end
C---------------------------------------------------------------------------------------
mesh1.dat为
         5        2 numnp , numel
    1      0.00000E+00   0.00000E+00   1
    2      0.00000E+00   0.35803E-03   1   
    3      0.00000E+00   0.70174E-03   1  
    4      0.00000E+00   0.10317E-02   1  
    5      0.00000E+00   0.13485E-02   1  
但是 用 write(10,*)  ia(i)语句后,写进去的inid.dat文件为:
  4.940656458412465E-324
  4.940656458412465E-324
  4.940656458412465E-324
  4.940656458412465E-324
  4.940656458412465E-324
而选择write(10,2100)  idum,xreal,yreal,ia(i) ,则inid.dat为
   1      0.00000E+00   0.00000E+00   1
    2      0.00000E+00   0.35803E-03   1   
    3      0.00000E+00   0.70174E-03   1  
    4      0.00000E+00   0.10317E-02   1  
    5      0.00000E+00   0.13485E-02   1
但在在debug过程ia的数据居然是 4.940656458412465E-324,这个怎么解释呢?怎么使得ia数组等于 1 1 1 1 1?请多多指教,谢谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijunjiexm

铁虫 (小有名气)

对了,忘了说一下,您的inid.dat文件生成是这个(我想要的)吗 (在这个语句下 write(10,*)  ia(i)语句)

1
  1   
  1  
  1  
  1
4楼2011-09-01 22:24:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
xzhdty(金币+2): 欢迎常来程序语言看看 2011-09-02 09:20:12
把 real*8 ia(5) 改成 integer ia(5) 就可以了(gfortran 验证通过)。如果不修改,在 gfortran 下会报如下错误:

Fortran runtime error: Expected INTEGER for item 5 in formatted transfer, got RE
AL
(i5,2x,e15.5,2x,e12.5,2x,i2)
                         ^
2楼2011-09-01 22:07:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijunjiexm

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by snoopyzhao at 2011-09-01 22:07:11:
把 real*8 ia(5) 改成 integer ia(5) 就可以了(gfortran 验证通过)。如果不修改,在 gfortran 下会报如下错误:

Fortran runtime error: Expected INTEGER for item 5 in formatted transfer, got RE
AL
( ...

为什么real不行呢?试了下把real*8改成dimension好像也可以,这个能稍微解释下吗,谢谢
3楼2011-09-01 22:19:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by lijunjiexm at 2011-09-01 22:19:55:
为什么real不行呢?试了下把real*8改成dimension好像也可以,这个能稍微解释下吗,谢谢

real*8 ia(5) 相当于
real* ia
dimension ia(8)

不行的原因是因为 format 中明确地写了第五项是 i2 格式,即是一个 integer,但 read 语句发现第 5 项是一个 real*8 的变量……
5楼2011-09-01 22:26:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-14 18:01 by Aj1rhIDL5ixY
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:49 by Aj1rhIDL5ixY
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:48 by Aj1rhIDL5ixY
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:13 by Aj1rhIDL5ixY
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:12 by Aj1rhIDL5ixY
[找工作] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 16:00 by Aj1rhIDL5ixY
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:48 by Aj1rhIDL5ixY
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:45 by Aj1rhIDL5ixY
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:37 by Aj1rhIDL5ixY
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 QUjhNVAcOSff 2026-09-13 6/300 2026-09-14 15:21 by Aj1rhIDL5ixY
[考博] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 15:13 by Aj1rhIDL5ixY
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 15:01 by Aj1rhIDL5ixY
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 QUjhNVAcOSff 2026-09-13 6/300 2026-09-14 15:00 by Aj1rhIDL5ixY
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 14:57 by Aj1rhIDL5ixY
[基金申请] 求教各位大神:2026教育部人文社科青年基金项目何时公示呀? +5 云宴山人 2026-09-10 7/350 2026-09-14 12:11 by ecnu2013
[找工作] 浙江师范大学是怎么坑我的 +6 recruit123 2026-09-09 6/300 2026-09-14 12:00 by 萨仁其其格
[考博] 西北工业大学材料学院电化学传感与催化课题组招收2027年推免研究生、博士生、博士后 +3 马方园 2026-09-10 4/200 2026-09-14 09:29 by Chem张zz
[考博] 27秋季材料博士申请求助 10+3 Cahal1 2026-09-11 4/200 2026-09-14 08:50 by 北京莱茵编辑
[基金申请] 面上有专家说实验设备不是我们单位的 +6 zj_muchong 2026-09-08 8/400 2026-09-11 06:56 by suifengdao
[有机交流] 科研求助 10+4 我吃一只鱼 2026-09-07 4/200 2026-09-10 08:32 by 0940628
信息提示
请填处理意见