Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coding style 如何很好地使用Fortran语句标签?_Coding Style_Fortran_Standards_Conditional Statements_Fortran77 - Fatal编程技术网

Coding style 如何很好地使用Fortran语句标签?

Coding style 如何很好地使用Fortran语句标签?,coding-style,fortran,standards,conditional-statements,fortran77,Coding Style,Fortran,Standards,Conditional Statements,Fortran77,我正在研究一个用Fortran 95编写的模型,我对它完全陌生。语句标签的概念似乎很奇怪,到目前为止,我只发现了一种解释,即标签可以由作者任意决定,通常递增10 除了更容易地找出语句的结尾外,这些标签还有什么实际用途吗?在现代Fortran中,我认为语句标签有用的唯一方法是在使用gotos时进行错误控制(是的,它们有时很有用-小心处理;-)。将它们列在“过时”下 另一方面,构造名称有时可能有助于帮助读者理解代码,例如对于大循环或if语句。构造名称的另一个用途是高级循环控制,例如循环外部循环时:

我正在研究一个用Fortran 95编写的模型,我对它完全陌生。语句标签的概念似乎很奇怪,到目前为止,我只发现了一种解释,即标签可以由作者任意决定,通常递增10


除了更容易地找出语句的结尾外,这些标签还有什么实际用途吗?在现代Fortran中,我认为语句标签有用的唯一方法是在使用
goto
s时进行错误控制(是的,它们有时很有用-小心处理;-)。将它们列在“过时”下

另一方面,构造名称有时可能有助于帮助读者理解代码,例如对于大循环或
if
语句。构造名称的另一个用途是高级循环控制,例如循环外部循环时:

outer: do i=1,10
  do ii=1,10
    if ( i == 2 .and. ii == 3 ) cycle outer
    z(ii,i) = 1.d0
  enddo
enddo outer

“如何更好地使用它们”的字面答案是“不要”。如果你有一些东西看不到如何更新到现代标准,请发布一个具体的例子。这里有一些有趣的历史这确实是一段古老的历史,到80年代中期,我们还没有按顺序对fortran进行编号。“outer”是一个构造名称,而不是一个标签。他们是语法上不同的野兽。谢谢你的澄清,我在课文中修改了它。