24小时热门版块排行榜    

查看: 2133  |  回复: 14
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

koorb

铁虫 (初入文坛)

[求助] allocate与data共存的问题

Fortran代码:
integer, allocatable::num(
allocate( num(2) )
data num /2*3/
程序报错,This is an invalid DATA statement object。请指点一下!谢谢!
回复此楼
天道
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

引用回帖:
5楼: Originally posted by koorb at 2011-11-10 13:29:08:
“data必须出现在所有可执行程序之前”这种说法在90里是不正确的,在77里我没法验证。

给个可以出现在可执行程序之后的例子看一下吧……
7楼2011-11-10 18:39:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 15 个回答

holmescn

金虫 (正式写手)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-11-10 13:07:33
F90的话,不用Data也行啊。直接num=/()/这样的语法就行。
2楼2011-11-10 11:14:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

【答案】应助回帖

xzhdty: 谢谢参与 2011-11-10 12:13:24
koorb(金币+2): 谢谢! 2011-11-10 13:17:39
example:
CODE:
program test
integer, allocatable :: num(:)
integer i
allocate (num(10))
num = (/(10, i=1,10)/)
print *, num
end program test

3楼2011-11-10 11:24:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


余泽成(金币+1): 谢谢参与应助! 2011-11-10 21:48:06
引用回帖:
1楼: Originally posted by koorb at 2011-11-10 09:51:32:
Fortran代码:
integer, allocatable::num(
allocate( num(2) )
data num /2*3/
程序报错,This is an invalid DATA statement object。请指点一下!谢谢!

即使在 Fortran 77 中这么用也是不正确的啊, data 必须出现在所有可执行程序之前……

你的这种情况直接 num = 3 就可以了,呵呵……
4楼2011-11-10 13:21:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见