相关疑难解决方法(0)

Fortran中结果变量的用途是什么?

在Fortran中,有两种标准方法可以从函数返回结果.第一种方法是将函数的返回值赋给函数名.

function foo()
    integer :: foo

    foo = 10
end function foo
Run Code Online (Sandbox Code Playgroud)

在Fortran 90中标准化的第二种形式是通过"结果"变量.

function foo result(res)
    integer :: res

    res = 10
 end function foo
Run Code Online (Sandbox Code Playgroud)

调用函数的任何一种形式都会返回值10.我的问题是,Fortran 90委员会引入结果变量的理由是什么?他们是否标准化了一种常规做法?或者他们通过不将函数名称绑定到函数结果来允许程序更加模块化.例如,在第二个版本中foo(),函数的名称foo()可以更改为bar(),并且函数在调用时仍将按预期工作.

但是,我可能错了.有谁知道引入结果变量的实际理由是什么?

fortran fortran90 fortran95

9
推荐指数
1
解决办法
2318
查看次数

循环后Fortran DO循环索引的值

DO循环如何正常工作?

假设你有以下循环:

do i=1,10
...code...
end do

write(*,*)I
Run Code Online (Sandbox Code Playgroud)

为什么打印I 11,而不是10?

但是当循环停止时由于

if(something) exit
Run Code Online (Sandbox Code Playgroud)

我是预期的(例如i = 7,退出因为其他一些值达到了它的极限).

fortran loops do-loops

2
推荐指数
1
解决办法
1055
查看次数

标签 统计

fortran ×2

do-loops ×1

fortran90 ×1

fortran95 ×1

loops ×1