gpt4 book ai didi

fortran - Fortran 能否在逻辑运算中强制遵守参数顺序?

转载 作者:行者123 更新时间:2023-12-05 08:44:50 28 4
gpt4 key购买 nike

我正在遍历索引,我正在检查我是否不在第一个循环交互和另一个条件中。如果第一个条件是 .False.,我不想评估第二个条件。

do i = 1, n
if ( i /= 1 .and. var(i) > var(i-1) ) then
do something
end if
end do

很明显,在这种情况下,如果第一个条件为假,则评估第二个条件将导致索引错误。因为如果 i = 0 那么 var(i-1) 将低于下限。

如果第一个条件已经是 .False.,为什么还要计算第二个条件?有没有办法在不创建第二个 if 语句的情况下避免这种情况?

最佳答案

最简短的回答是“否”。对于显示的代码,您有两个选择

do i = 1, n
if ( i /= 1 ) then
if (var(i) > var(i-1) ) then
do something
end if
end if
end do

do i = 2, n
if (var(i) > var(i-1) ) then
do something
end if
end do

关于fortran - Fortran 能否在逻辑运算中强制遵守参数顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75312396/

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