Fortran 90 中的可选子例程
我怎样才能在 fortran 90 中实现这个目标?我有一个接受函数的例程 subroutine foo(bar, mysub) integer, intent(in) :: bar interface subroutine my…
Fortran 95:if 条件的内联计算
这里有一小段代码,返回 epsilon() 以获得实际值: program epstest real :: eps=1.0, d do d=1.0+eps if (d==1.0) then eps=eps*2 exit else eps=eps…
意图(inout)和指针虚拟参数之间的区别
有什么实际区别 subroutine fillName(person) type(PersonType), intent(inout) :: person person%name = "Name" end subroutine 拥有或以下 subrouti…
当虚拟对象具有指定长度时传递字符串作为参数
如果我有这段代码, module test contains subroutine xx(name) character(len=20), intent(in), optional :: name if (present(name)) then print *,…
fortran90中整数的智能打印
几年前简单介绍了Fortran77之后,我开始学习Fortran90。在 Fortran 中打印整数时,必须指定要为打印整数保留多少个空格。考虑这个程序... implicit no…
隐含的 DO 循环是否效率低下?
我有一个基于隐含 do 循环的数组初始化,给定奇数大小 N。 J=(N+1)/2 XLOC(1:N) = (/ (I-J, I=1,N) /) 在 F90+ 的上下文中,建议使用 (/ .. /) 语法,…
如何左对齐 Fortran 中的数字输出?
我正在用 Fortran 编写一些简单的输出,但我想要空格分隔符。但是,如果使用以下语句: format(A20,ES18.8,A12,ES18.8) 我得到这样的输出: p001t0000…
for_write_seq_lis 做什么?
我正在使用 valgrind 调试 Fortran 90 程序。我在跟踪中遇到了这个错误 ==93929== Use of uninitialised value of size 4 ==93929== at 0x7C3D4B: for…
FORTRAN 中的函数参数
问题 我试图让一个函数作为另一个函数的参数,但是我不断收到错误: Error: Internal procedure 'polytrope' is not allowed as an actual argument a…
在子程序调用期间保持 Fortran 中的数组限制
我有以下程序 module test contains subroutine foo() integer, allocatable :: a(:) allocate(a(-5:5)) call bar(a) print *, a end subroutine subr…
Fortran 90 中意图(out)拼接数组的未定义行为?
当我这样做时,我遇到了非常奇怪的行为。我认为这是问题的根源,但我可能是错的。如果你们中的任何人都可以确认这确实是未定义的行为,我至少会知道发…