24小时热门版块排行榜    

查看: 500  |  回复: 5
当前主题已经存档。

liyi3344520

木虫 (正式写手)

[交流] 【求助】fortran 定义character变量的疑问?

看的一段程序,其定义for为如下:
  character(len=20) :: for='(??(1x,f6.3))'
但是不懂等号后面什么意思?问号是什么意思?

[ Last edited by liyi3344520 on 2008-12-31 at 20:14 ]
回复此楼

» 猜你喜欢

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

coldwind042

金虫 (正式写手)

应该就是将: (??(1x,f6.3))  这段字符赋值给for这个字符串变量吧
2楼2008-12-31 20:53:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liyi3344520

木虫 (正式写手)

引用回帖:
Originally posted by coldwind042 at 2008-12-31 20:53:
应该就是将: (??(1x,f6.3))  这段字符赋值给for这个字符串变量吧

我表述不太清楚,
这个 (??(1x,f6.3))  是什么意思?
3楼2008-12-31 21:45:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

coldwind042

金虫 (正式写手)

这是一个符号而已。可能是要生成一个fortran的输入格式命令流。不过,??可能是没有正确显式
4楼2008-12-31 22:58:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liyi3344520

木虫 (正式写手)

感谢战友的回复!

character(len=20) :: for='(??(1x,f6.3))' 这里的??是以后要替换掉的
一般都是这么用的,如下:
character(len=20) :: for='(??(1x,f6.3))'
integer :: N=2
real,dimension(N) :: a
   write(for(2:3),'(i2)') N   ! 这里就是将??替换为N的数值,相当于 for='( 2(1x,f6.3))'
   write(*,fmt=for) a
这样如果改变a的大小,只改变N的值就可以了
5楼2009-01-01 01:16:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiwei43

至尊木虫 (正式写手)

这个真是高级应用。
6楼2009-01-08 08:12:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 liyi3344520 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见