24小时热门版块排行榜    

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

学虫dj

金虫 (正式写手)

[求助] FORTRAN中不定个数传递参数 已有2人参与

我知道fortran中的函数在不定个数传递参数时应该使用interface来给子程序设定一个接口,现在的问题是:
1,函数中的形参是不确定大小的数组时,应该怎么设置这个interface
2,这个将要被调用的函数是在一个模块里,而调用他的函数在另一个模块里,这时interface怎么设置
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

穷则独善其事,达则兼济天下
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
学虫dj: 金币+10 2014-04-16 15:20:28
学虫dj: 回帖置顶 2014-04-16 15:21:24
1. Module里面的所有subprogram在用的时候是不需要interface的。比如在MODULE B中要用module A里的所有子程序,只需要在MODULE B中写上USE A就行了,不需要INTERFACE。因为,一定程度上,可以把MODULE中的子程序当成在所用程序中的后面加了contain的内部子程序。

2. 可选参数为不定大小的数组时可以这样定义子程序。
subroutine aaa(a,b)
      real :: a
      real, optional :: b(
      .....
end
4楼2014-04-11 16:46:38
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

linrn

至尊木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
函数中的参数在定义时加上  optional,如
subroutine aaa(a,b,c)
real(kind=8),intent(inout):: a,b
real(kind=8),intent(inout),optional::c
...
end subroutine
在函数中需要使用参数c的时候,需要用logical present(c)来判别是否输入c这个参数。


调用的时候可以写成
call  aaa(a,b,c)
或者
call aaa(a,b)
2楼2014-04-09 21:13:22
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

学虫dj

金虫 (正式写手)

引用回帖:
2楼: Originally posted by linrn at 2014-04-09 21:13:22
函数中的参数在定义时加上  optional,如
subroutine aaa(a,b,c)
real(kind=8),intent(inout):: a,b
real(kind=8),intent(inout),optional::c
...
end subroutine
在函数中需要使用参数c的时候,需要用logic ...

我的程序中就是这样写的,但是貌似不行。我的程序里面会判断是否给了c,如果没有给,那就自动赋值,但是执行结果是没有地址
穷则独善其事,达则兼济天下
3楼2014-04-11 10:10:09
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

real, optional :: b( : )
5楼2014-04-11 16:47:17
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 291求调剂 +7 关忆北. 2026-04-14 7/350 2026-04-15 14:39 by 黑科技花岗岩
[考研] 297工科调剂? +14 河南农业大学-能 2026-04-13 15/750 2026-04-15 13:25 by 黑科技矿业
[考研] 材料工程281还有调剂机会吗 +43 xaw. 2026-04-11 44/2200 2026-04-15 12:46 by 西北望—风沙
[考研] 药学305求调剂 +10 玛卡巴卡boom 2026-04-10 10/500 2026-04-14 15:55 by zs92450
[考研] 本科西工大 324求调剂 +5 wysyjs25 2026-04-10 5/250 2026-04-13 23:08 by pies112
[考研] 求调剂,985材料与化工348分 +9 涵竹刘 2026-04-11 14/700 2026-04-13 22:26 by 涵竹刘
[考研] 0856专硕求调剂 希望是a区院校 +24 好好休息好不好 2026-04-09 27/1350 2026-04-13 22:22 by pies112
[考研] 一志愿西交机械专硕求调剂 +9 求上岸的小王 2026-04-10 9/450 2026-04-13 16:08 by jiangguiquan11
[考研] 生物学调剂,一志愿西南大学348,Top期刊一区二作、二区三作,三等奖学金三次 +5 candyyyi 2026-04-09 5/250 2026-04-13 09:02 by 可淡不可忘
[考研] 求调剂288 +7 ioodiiij 2026-04-10 9/450 2026-04-13 08:33 by Hayaay
[考研] +10 李多米lee. 2026-04-12 11/550 2026-04-12 22:58 by yuyin1233
[考研] 280求调剂 +7 兮兮夜夜 2026-04-09 10/500 2026-04-12 00:33 by 蓝云思雨
[考研] 求调剂 +11 翩翩一书生 2026-04-09 11/550 2026-04-11 19:57 by 逆水乘风
[考研] 296求调剂 +6 汪!?! 2026-04-09 6/300 2026-04-11 11:25 by zhq0425
[考研] 广东省 085601 329分求调剂 +14 Eddieddd 2026-04-10 14/700 2026-04-11 09:58 by bljnqdcc
[考研] 一志愿东北大学控制工程085406数二英二385,求调剂 +8 Ezra_Zhang 2026-04-09 8/400 2026-04-11 09:15 by 猪会飞
[考研] 263能源动力专硕求调剂 +3 加大号饭盒袋 2026-04-10 3/150 2026-04-10 22:23 by 286640313
[考研] 282,电气工程专业,求调剂,不挑专业 +9 jggshjkkm 2026-04-10 9/450 2026-04-10 14:55 by 逆水乘风
[考研] 070300化学 求调剂 +13 73372112 2026-04-08 13/650 2026-04-09 20:22 by maddjdld
[考研] 二次调剂求老师收留 +3 笑笑袁 2026-04-08 3/150 2026-04-08 23:50 by 醉在风里
信息提示
请填处理意见