我正在遍历索引,我正在检查我是否不在第一个循环交互和另一个条件中。如果第一个条件是 .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
https://stackoverflow.com/questions/75312396/
相关文章:
vbscript - 当我的 InstallShield 安装程序尝试运行我的 VBS 自定义操作时
wpf - ListBox 中的 TextBox、Button 和 ListBox
sql-server - 从现有数据库生成 SQL DDL 和内容的工具
python - 查找给定范围内的数字,使给定列表中任何元素的数字的 gcd 始终为 1
pdf - PDF 的 BitsPerComponent 如何转换为图像的每像素位数?
sql-server-2005 - 强制 SQL Server 列为特定值