5812189y1 发表于 2008-4-21 14:23:58

彭国伦ex0917,有不明,请高手指点

彭国伦书中第9章中关于内部文件的例子,请高手指点迷津,多谢 :L
program ex0917
implicit none
integer a,b
character(len=30) :: fmtstring="(I??,'+',I??,'=',I??)"
integer,external :: GetInteger

a=GetInteger()
b=GetInteger()

write(fmtstring(3:4),"(i2.2)") int(log10(real(a))+1)
write(fmtstring(11:12),"(i2.2)") int(log10(real(b))+1)
write(fmtstring(19:20),"(i2.2)") int(log10(real(a+b))+1)
write(*,fmtstring) a,b,a+b

stop
end program

write语句中fmtstring(3:4)字段有什么含意?3:4,11:12,19:20是如何确定的?如有其他应用,应该怎样修改它们的区间?

lishhit 发表于 2008-4-22 23:34:31

你可以把fmtstring认为是个字符型的数组,这样看着就明白了

5812189y1 发表于 2008-5-7 16:35:34

这样理解是可以大体知道它的输出,不明白的是针对的是哪个字符?只有知道是针对哪个字符实际写程序的时候对输出结果才能预知吧
初学fortran,自己太菜了,多多学习,以后加深理解吧
anyway,thanks
页: [1]
查看完整版本: 彭国伦ex0917,有不明,请高手指点