简单fortrando循环
我对Fortran非常陌生,有一个简单的循环问题,我在任何地方都找不到答案 如果我有这样一个循环:简单fortrando循环,fortran,fortran90,Fortran,Fortran90,我对Fortran非常陌生,有一个简单的循环问题,我在任何地方都找不到答案 如果我有这样一个循环: do l = -0, 0 ! do something ! something else end do 循环是否被调用过?我的第一个倾向是否定。但也许Fortran中有一个微妙之处我不知道?do语句的形式如下: DO do_variable = m_1, m_2 [, m_3] 其中m_1是初始参数,m_2是终端参数,m_3是可选的增量参数默认值为1,循环迭代次数计算为 (m_2
do l = -0, 0
! do something
! something else
end do
循环是否被调用过?我的第一个倾向是否定。但也许Fortran中有一个微妙之处我不知道?do语句的形式如下:
DO do_variable = m_1, m_2 [, m_3]
其中m_1是初始参数,m_2是终端参数,m_3是可选的增量参数默认值为1,循环迭代次数计算为
(m_2 - m_1 + m_3) / m_3
对于循环,对于1次迭代,其计算结果为0--0+1/1=1
参考:ISO/IEC 1539-1:2010 Fortran 2008第8.1.6.6.1节
例如:
program test
implicit none
integer :: i
do i=1,1
write (*,*) 'Iteration with i=',i
end do
end program test
输出:
% ./doloop1
Iteration with i= 1
你试过了吗?怎么了?谢谢。我刚试过。我很惊讶,它实际上只运行了一次。你能解释一下原因吗?从他们的do循环的定义来看,我没想到会是这样。答案很好。这是有道理的。谢谢