Fortran Coder

标题: 这个错误怎么解释?lbound和size的问题 [打印本页]

作者: Villain    时间: 2015-5-3 13:06
标题: 这个错误怎么解释?lbound和size的问题
碰到了一下一个问题:
在一个子程序中写入:
[Fortran] 纯文本查看 复制代码
     write(*,*)n_qt,nin,"hehe"
     allocate( qin(n_qt,nin), qin2(n_qt,nin), qout(n_qt,nin) )
    write(*,*)lbound(qin,1),lbound(qin,2),"111111"
    write(*,*)lbound(qin2,1),lbound(qin2,2),"22222"
    write(*,*)lbound(qout,1),lbound(qout,2),"hehe"
然后输出结果是:
           3           1 hehe
           1           1 111111
           1           1 22222
           1           1 hehe


那段程序就是为debug写的,没有任何对n_qt和nin的计算。


作者: vvt    时间: 2015-5-3 13:17
没错啊,Fortran的数组下标默认都是 1 开始,除非你特别指定。
作者: Villain    时间: 2015-5-3 13:24
vvt 发表于 2015-5-3 13:17
没错啊,Fortran的数组下标默认都是 1 开始,除非你特别指定。

啊,看错了,我是求上界,应该用size函数,谢拉,求删贴
作者: vvt    时间: 2015-5-3 13:26
size=ubound-lbound+1




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2