gpt4 book ai didi

loops - 循环后 Fortran DO 循环索引的值

转载 作者:行者123 更新时间:2023-12-05 01:30:09 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why is the Fortran DO loop index larger than the upper bound after the loop?

(2 个回答)


3年前关闭。




DO 循环究竟是如何工作的?

假设您有以下循环:

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

write(*,*)I

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

但是当循环由于某个原因而停止时
if(something) exit

I 符合预期(例如 i=7,退出因为其他一些值达到了它的限制)。

最佳答案

i的值转至 11之前do循环决定它必须终止。 11的值是 i 的第一个值这导致 1 的结束条件.. 10失败。所以当循环完成时,i 的值是 11 .

放入伪代码形式:

1) i <- 1
2) if i > 10 goto 6
3) ...code...
4) i <- i + 1
5) goto 2
6) print i

当到第 6 步时, i 的值是 11 .当您输入 if语句,它变成:
1) i <- 1
2) if i > 10 goto 7
3) ...code...
4) if i = 7 goto 7
5) i <- i + 1
6) goto 2
7) print i

这么清楚 i将是 7在这种情况下。

关于loops - 循环后 Fortran DO 循环索引的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18146622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com