循环标签后的代码是否在循环内执行?Fortran循环赋值语句执行次数问询
Fortran DO循环相关问题解答
问题1:循环标签之后的代码是否会在循环内执行?
在老式Fortran的带标签DO循环中,标签标记的是循环体的最后一条语句。当循环执行到标签语句时,完成当前迭代的最后一步,随后会检查循环变量是否达到终止值,决定是否进入下一次迭代。因此,标签之后的代码不属于循环体,不会在循环内执行。
问题2:给定循环中ZX(K)=0.D0的执行次数
看这段代码:
DO 180 J=1,9 K=9*(I-1)+J 180 ZX(K)=0.D0
这里DO 180指定循环的终止标签为180,意味着从DO语句之后到标签180的所有语句都是循环体的一部分。循环变量J从1到9,共迭代9次,每次迭代都会执行K=9*(I-1)+J和ZX(K)=0.D0这两行代码。因此,ZX(K)=0.D0会执行9次,不是1次。
内容的提问来源于stack exchange,提问作者Glen Herman
相关产品推荐
相关产品推荐

