Fortran Coder

想请教一下这个if函数的逻辑和参数传递

查看数: 268 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-3-21 10:11

正文摘要:

请教一个问题。程序按照IF判断逻辑会先执行2处的else if,但是我这里else if的值想要用到1处IF的最终结果(34或者37行的值)。并且我想让后面的else if中“qulv”的值恒等于if中某一个i处的值(i等于第一次进入if 语 ...

回复

盛世青衫 发表于 2024-3-22 10:32:06
fcode 发表于 2024-3-21 16:20
用文字表达算法,就是不太清楚。我不是很清楚你想要的算法是什么样子。
如果你要先找到一个符合条件的 i 。 ...

感谢指导,我学习一下。
fcode 发表于 2024-3-21 16:20:08
用文字表达算法,就是不太清楚。我不是很清楚你想要的算法是什么样子。
如果你要先找到一个符合条件的 i 。你要不要考虑用2次循环?

第一次先找到符合条件的 i,并保存在 k 里,然后计算对应的 qulv 值。
然后第二次循环,做下一步使用 k 和 qulv 值的计算。
[Fortran] 纯文本查看 复制代码
k = 0
do i = 1 , reso
  if( X_I(I)>L2 ) then
    k=i
    qulv = ...
    exit
  end if
end do
do i = 1 , reso
  m_jisuan(k ??? i ...
end do
fcode 发表于 2024-3-21 11:27:33
没太听懂你的意思。
if判断并不会先执行2处的 else if,只会在 if 条件不满足时执行 else if。

你想要另一个分支的值,通常做法是把计算这个需要的值的代码放在 if 前面。
这样不管进入哪个分支,都会先计算这个值。每个分支都能使用。

你可能需要定义额外的变量来存储它

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-9 15:37

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表