tri*_*e_r 0 fortran77 do-loops
坏消息大家,
我最近开始学习 FORTRAN 来理解代码并将其翻译为 C++(我
知道代码的作用对于这个问题并不重要,但为了提供一些背景知识,
该代码使用自适应网格上的搭配方法解决了边界值问题)。
查看代码,某些“go to”语句与“do continue”相结合
,这确实让我感到困惑。
这是一个例子:
do 100 i=1, n
C DO SOMETHING HERE
if (some condition) go to 90
C DO SOME MORE STUFF HERE
90 continue
C EVEN MORE STUFF HERE
100 continue
Run Code Online (Sandbox Code Playgroud)
我有一些 C 语言编程经验,因此我将用 C 语言编写两种解释,如下
所示,但我不确定哪一种(如果有的话!)是正确的翻译:
for(int i=1;i<=n;i++)
{
//DO SOMETHING HERE
if(some condition) continue;
//DO SOME MORE STUFF HERE
//EVEN MORE STUFF HERE
}
Run Code Online (Sandbox Code Playgroud)
或者:
for(int i=1;i<=n;i++)
{
//DO SOMETHING HERE
if(!some condition)
{
//DO SOME MORE STUFF HERE
}
//EVEN MORE STUFF HERE
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人可以帮助我理解语法。
continueFortran 语句没有任何作用。它仅作为跳转的参考。在 Fortran 代码中,程序会跳过DO SOME MORE STUFF HEREif some conditionis true。因此,你的第二个 C 版本是正确的。
| 归档时间: |
|
| 查看次数: |
9977 次 |
| 最近记录: |