坏消息是大家,
我最近开始学习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我有一些用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
}或者:
for(int i=1;i<=n;i++)
{
//DO SOMETHING HERE
if(!some condition)
{
//DO SOME MORE STUFF HERE
}
//EVEN MORE STUFF HERE
}我想知道有没有人能帮我理解语法。
发布于 2013-02-07 06:43:49
Fortran的continue语句什么也不做。它只是作为跳转到的参考。在Fortran代码中,如果some condition为true,则程序跳过DO SOME MORE STUFF HERE。因此,你的第二个C版本是正确的。
https://stackoverflow.com/questions/14739422
复制相似问题