【发布时间】:2016-03-16 05:08:56
【问题描述】:
我应该采用以下程序片段并使用 goto 语句来显示循环中的流控制:
for ( int i = n; i > 0; i-- ) {
if ( x != A[i] )
break;
}
我意识到应该避免 goto 语句,但这就是问题所要求的。我觉得应该是这样的,这样流控制就通过循环显示出来了:
for ( int i = n; i > 0; i-- ) {
if ( x != A[i] )
goto xValue;
break;
}
xValue: cout << "The value of x: \n" << x;
这是正确的吗?我不确定是否在 break 语句之前或之后放置 goto 语句。
【问题讨论】:
-
问:为什么不删除“break”?问:你不应该也用 goto 替换 for "for" 循环吗?
-
那么,您是说用
goto替换for,并完全删除break 语句? @paulsm4 -
我也将删除 for 循环并将其替换为显式 goto。 for 只是一个 init 块,后跟一个退出条件(基本上是一个 if 和一个 goto),然后是一个主体、一个增量操作和一个 goto 返回到退出条件检查。显然,只是为了分配;)
-
这就是你的想法吗? @paulsm4 @A.Chiesa
goto xValue ( int i = n; i > 0; i--) if ( x !=A[i] ) goto xValue;
标签: loops for-loop goto flow-control