24小时热门版块排行榜    

查看: 1104  |  回复: 7

xk6891

至尊木虫 (著名写手)

[求助] 设定读到行尾终止出现问题

CODE:
open(16,file='bond_analyse.txt',status='old')
i=1
do while(.true.)
read(16,"(A50)",iostat=iso1)in_filename
read(16,"(A50)",iostat=iso1)out_filename
call bond_judge(in_filename,out_filename)
!print *, i
!print *, in_filename
!print *, out_filename
if(iso1<0)exit
i=i+2
end do
close(16)

CODE:
x97_out
x98
x98_out
x99
x99_out
x100
x100_out

第一段为所写的一点代码,第二段为要处理的部分数据(x100_out后还有一个空行,文件结束),由于出现问题,我采用print打出来i和文件名看一看,结果发现本该通过判断if(iso1<0)exit在文件末尾结束的读取没有结束,print结果是(无限循环)
CODE:
        2553
x100                                                                           
x100_out                                                                       
        2555
x100                                                                           
x100_out                                                                       
        2557
x100                                                                           
x100_out      
……………………

问题出在哪里呢?大侠们帮帮忙

[ Last edited by xk6891 on 2011-6-19 at 11:00 ]
回复此楼
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xk6891

至尊木虫 (著名写手)

我弱,判断条件改为if(iso1>0)exit虽然不会无限循环了,但是会输出两次x100,这个对后面影响巨大        
        205
x100                                                                           
x100_out                                                                       
         207
x100                                                                           
x100_out
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
2楼2011-06-19 11:17:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
xk6891(金币+8): 果真~~专家真神人也~~ 2011-06-19 11:33:27
jjdg(金币+2): 感谢应助 2011-06-19 13:19:59
把 if(iso1/=0)exit 放到 call 之前就没有问题了……
3楼2011-06-19 11:24:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xk6891

至尊木虫 (著名写手)

引用回帖:
Originally posted by snoopyzhao at 2011-06-19 11:24:32:
把 if(iso1/=0)exit 放到 call 之前就没有问题了……

为什么啊,还是不理解,子程序并没有对其产生影响啊?求专家指导
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
4楼2011-06-19 11:34:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xk6891

至尊木虫 (著名写手)

为什么会一次又一次回去读出x100和x100_out呢,感觉顺序读取,已经走过去了,不应该再回头阿
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
5楼2011-06-19 11:37:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★ ★
微尘、梦想(金币+3): 感谢参与应助! 2011-06-19 17:16:51
引用回帖:
Originally posted by xk6891 at 2011-06-19 11:34:20:
为什么啊,还是不理解,子程序并没有对其产生影响啊?求专家指导

放在子程序之前是确保你调用时用到的参数是正确的。当 ios /= 0 时,即读到文件结束处了,但 read 语句还是执行了,这时,两个参数可能取任意结果,当这个结果被传递到子程序中之后,便可能产生出人意料的结果。

我的习惯是,任何时候,这种判断都接跟着 read 语句,不管如何,读到文件结束处,就立即跳出读文件的循环。
6楼2011-06-19 13:42:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
Originally posted by xk6891 at 2011-06-19 11:37:19:
为什么会一次又一次回去读出x100和x100_out呢,感觉顺序读取,已经走过去了,不应该再回头阿

这里的 x100 和 x100_out 不见得是从文件中读出来的……
7楼2011-06-19 13:44:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xk6891

至尊木虫 (著名写手)

引用回帖:
Originally posted by snoopyzhao at 2011-06-19 13:42:22:
放在子程序之前是确保你调用时用到的参数是正确的。当 ios /= 0 时,即读到文件结束处了,但 read 语句还是执行了,这时,两个参数可能取任意结果,当这个结果被传递到子程序中之后,便可能产生出人意料的结果 ...

明白了,设定循环的时候,下次我一定要小心
谢谢您耐心的解释
人生自古多险阻,勤者自得天酬助。试问否泰何所依,枯藤老枝待新抽。临渊踌躇终迈步,振翅鹏起云霄冲。似是前程甚堪忧,他日振臂揽苍穹。
8楼2011-06-20 13:21:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xk6891 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 s3fFTmArrBt6 2026-09-13 7/350 2026-09-17 23:28 by cuPZTDXS3VOd
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 s3fFTmArrBt6 2026-09-13 6/300 2026-09-17 23:28 by cuPZTDXS3VOd
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +6 LwdutQ8HoqWP 2026-09-13 6/300 2026-09-17 23:05 by cuPZTDXS3VOd
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +7 s3fFTmArrBt6 2026-09-13 9/450 2026-09-17 23:05 by cuPZTDXS3VOd
[基金申请] 国社科系统bug了,是不是要放榜了? +5 kynobel 2026-09-16 6/300 2026-09-17 21:37 by tosogo
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 Aj1rhIDL5ixY 2026-09-14 6/300 2026-09-17 14:17 by ObVzqQQh1rrE
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 23jxep3nCNZb 2026-09-14 4/200 2026-09-17 13:51 by ObVzqQQh1rrE
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +5 6F5UbRU2I5hL 2026-09-14 5/250 2026-09-17 13:17 by ObVzqQQh1rrE
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 mibUvS8DDCwf 2026-09-15 4/200 2026-09-17 06:26 by k06BKNblrGRH
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 vZfe6xYu34yj 2026-09-14 4/200 2026-09-17 05:50 by k06BKNblrGRH
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 vZfe6xYu34yj 2026-09-14 3/150 2026-09-17 05:38 by k06BKNblrGRH
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-17 03:16 by Tql5LQhh5rLK
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 6F5UbRU2I5hL 2026-09-14 5/250 2026-09-17 03:14 by Tql5LQhh5rLK
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-17 02:38 by Tql5LQhh5rLK
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 vZfe6xYu34yj 2026-09-14 3/150 2026-09-16 22:26 by Tql5LQhh5rLK
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-15 08:26 by C79jjtjAKjEn
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-15 07:46 by C79jjtjAKjEn
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-13 4/200 2026-09-15 07:02 by 5BDX0d0WFp7t
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 s3fFTmArrBt6 2026-09-13 4/200 2026-09-15 06:50 by 5BDX0d0WFp7t
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:13 by Aj1rhIDL5ixY
信息提示
请填处理意见