二者均是被program调用,完成一定的任务,但是二者有明显的不同: 1. subroutine不需要在program中声明,但是在调用时必须用Call命令;与此相反,function必须在program中声明,在调用时不用任何命令,因为函数名本身就是命令; 2. subroutine可以不返回什么结果,但是function必须返回计算结果。 附: function声明格式, real, ext...
fortran mod module function subroutine的区别 在Fortran编程语言中,mod、module、function和subroutine是四个不同的关键字,代表了不同的指令或语法结构。 1. mod:mod是一个运算符,用于计算两个数相除的余数。例如,表达式5 mod 2的结果为1,表示5除以2的余数是1。 2. module:module是一个关键字,用于定义一个...
Fortran中函数分两类:子程序(subroutine)和自定义函数(function)。!自定义函数本质上就是一般数学上的函数,一般要传递自变量给自定义函数,返回函数值。!子程序不一定是这样,可以没有返值也可以多个返回值。!func能做到的事,sub一定能做到。!传递参数要注意类型的对应,这跟C是一样的。!!!---!!!Module不是函数。
Subroutine是封装子程序的一个命令,常用格式是 Subroutine message ()Implicit none ……Return 调用格式为 call message ()Function是自定义函数,一般跟数学公式什么的有关。使用前要声明 Real, external :: functionname 执行后会返回一个数值。而subroutine子程序可以返回多个数值,字符等其它信息。Common...
subroutine是调用主程序的一些变量的无输出封装子程序,可放在代码末尾声明,并可多次利用call routine_name(input)调用 值得注意的有以下几点: 1.子程序中变量取值的改变会影响到那些从主程序输入的变量的取值。可用: intent(in)intent(out)intent(inout)
我看到有的网页上说是在于输入输出的特点: 即function只能允许一个输出,而subroutine可以有很多输出?是...
和subroutine,所以,不用把子程序function写在主程序里。如此则subroutine和主程序都可以随意调用function,注意调用时的实参(subroutine里面的参数)和虚参(function里面的参数)要变量类型一致,而且实参数目不少于虚参(这个很重要)。如有问题欢迎再联系 参考资料:《fortran77 》--谭浩强、田淑清 ...
另外FORTRAN本身的编辑逻辑非常简单,数组就是数组,变量就是变量,从数组中取哪个数就是取哪个数,没什么指针移位什么的。全局的数组在SUBROUTINE或者FUNCTION之间传递非常直观,许多函数都去操作全局数组也不会出错。 编译器里的指令级的SIMD向量化是针对最底层的,所以我才不要什么外部的数学库,我需要我们自己写的DO循环是...
初学者可以一律都使用Function。不写result就行了。这两个东西其实只在使用的时候有区别,比如 a = f(...