【发布时间】:2012-05-03 00:38:44
【问题描述】:
我的作业任务是将 C# 中的循环转换为 Fortran 95。
outerLoop:
for(row = 0; row < numRows; rows++){
for(col = 0; col < numCols; col++){
if(mat[row][col] == 0)
continue outerLoop;
sum += mat[row][col];
}
}
正如你们中的一些人所看到的,这看起来类似于 Java 和 Perl 中使用的退出语句标签规范,据我了解,它用于中断具有嵌套循环或 'if 的循环em>' 语句,而不仅仅是一个循环/语句。我对 Java 中的这个特性还是新手,所以我不确定它是否存在于其他任何地方,特别是在 C# 和 Fortran 95 中。
我在 Google 上四处寻找,但没有找到任何相关信息。我在制定要在 Google 上使用的搜索字词时遇到了麻烦,所以这也是其中的因素。
请注意:我不是在寻找讲义答案;我只是在寻找自己在哪里找到答案。
感谢您抽出宝贵时间阅读这篇文章。
【问题讨论】:
-
我不知道
continue outerLoop究竟做了什么,但是如果你在那个地方放一个break,它会破坏内循环并允许外循环继续。 -
你真的很想了解 C# 中的跳转语句-msdn.microsoft.com/en-us/library/d96yfwee.aspx
-
问题不清楚。是关于将 (invalid) C# 转换为 Fortran 还是 (Java?) 代码具有相应的直接 C# 对应项?请参阅“...将循环 in C# 转换为 Fortran 95。”
-
鉴于此 sn-p 的可能结果,Fortran 关键字可能是 HALT_AND_CATCH_FIRE。