你的问题是 Numline 没有初始化 = 0
如果你 Integer :: NumLine = 0 ,那么只会在第一次执行。第二次以后不再执行。
另外,这种情况,用 Function 会更方便
[Fortran] 纯文本查看 复制代码 Integer Function Num_Line() result( Num )
Integer :: k
Character :: line
Num = 0 !//这个很重要
OPEN(11,FILE='material.txt',STATUS='OLD')
Do
Read(11,*,iostat=k) line
If( k /= 0 ) exit
Num = Num + 1
End Do
Close(11)
End Function Num_Line |