fortran里面subroutine子程序不是不用声明吗?

fortran里面的subroutine在main里面不用声明啊,但是为什么我看到有的程序里面会加上externalfunc。其中func是subroutine。这个问题... fortran里面的subroutine在main里面不用声明啊,但是为什么我看到有的程序里面会加上external func。其中func是subroutine。这个问题有点转牛角尖。。。望高手解答 展开
 我来答
天河流纹石
推荐于2017-11-25 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7623
采纳率:76%
帮助的人:6611万
展开全部
subroutine 不用声明

external 用来申明函数,通常在容易混淆的地方,例如 a = func(b) 的时候,编译器可能会认为 func 是个数组,此时,一些人习惯用 external func 来强调 func 是个函数。

subroutine 不需要声明,call func(b) 编译器不会搞错的。

其实更好的办法是写 interface
追问
大姐。我当然知道subroutine不用声明,只是我看到一个正确的程序却声明了!
追答
不用,跟 不能。

你能区别意思有何不同么?

我不用每天都给父母打电话。
不代表:
我不能每天都给父母打电话。

唉,语文没学好
canlml
2018-04-11 · TA获得超过8021个赞
知道小有建树答主
回答量:43
采纳率:100%
帮助的人:1.3万
展开全部

不用声明。

external 用来申明函数,通常在容易混淆的地方,例如 a = func(b) 的时候,编译器可能会认为 func 是个数组,此时,一些人习惯用 external func 来强调 func 是个函数。

subroutine 不需要声明,call func(b) 编译器不会搞错的。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huzi233
2012-10-25 · TA获得超过400个赞
知道小有建树答主
回答量:291
采纳率:100%
帮助的人:274万
展开全部
同一楼,关于各种编译器的异同点,使用最稳妥的语法语言来编写代码是最好的,external可以避免某些由于编译器的差异带来的问题,提倡多多使用。

还有,external后边可以跟subroutine,也可以跟function。

interface是另一种方式,属于稍微不常用的语法,个人经验不建议使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式