在Fortran中,一个主程序内定义的不同子函数的形参可否同名

在Fortran中,一个主程序内定义的不同子函数的形参可否同名,第1张

有两个选择:

定义为 External 函数名

使用 interface 书写该参数的完整接口

记错了,抱歉!!

是不是这个样子,主程序,和子程序的数组不是一一对应的关系,有点错位

其实数据已经改变了

program test

integer v(1:20)

integer i

do 10 i=1,20

10 v(i)=1

print ,v(10)

call f(v)

print ,v(10)

end program

subroutine f(v)

integer v(0:10)

v(10)=10

end subroutine

1参数传送的是数组的指针吗?

传递的是值。

2调用子程序时,参数能与子程序参数的名字一样吗?

不要求名字相同。

3如果加上double precision : : x , y , z 会不会提示错误呢?

可能不会提示,不过没有必要。

在子程序中X是实型变量,调用的时候也要用实型的。

所以用J(30)正确,用J(3)出现错误。

但是在主程序中写:

X=3

!

X是实型变量

Z

=

J(X)

则不会出现错误。

program Main

Implicit None

Real r,f

r=15 !这个值是你给的半径

f=40/3031416(r3)

print,f !这是值的输出

End Program Main

1函数可用于表达式中,而subroutine不可以;

2subroutine类似于c/c++中的没有返回值即void函数。

3比如有以下函数function Fun(bbb) result(aaa)

然后调用ccc= Fun(bbb)

function要把结果aaa拷贝然后复制到aaa,而subroutine不用拷贝复制,所以subroutine比function速度更快,更省内存。

以上就是关于在Fortran中,一个主程序内定义的不同子函数的形参可否同名全部的内容,包括:在Fortran中,一个主程序内定义的不同子函数的形参可否同名、FORTRAN程序子程序的值都是对的,但是返回主程序后值和初始值一样没变化,、【Fortran语言 主程序调用子程序时参数问题】等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9638352.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存