Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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
Loops 使用goto语句显式显示通过循环的流控制_Loops_For Loop_Goto_Flow Control - Fatal编程技术网

Loops 使用goto语句显式显示通过循环的流控制

Loops 使用goto语句显式显示通过循环的流控制,loops,for-loop,goto,flow-control,Loops,For Loop,Goto,Flow Control,我应该获取以下程序片段并使用goto语句来显示通过循环的流控制: for ( int i = n; i > 0; i-- ) { if ( x != A[i] ) break; } for ( int i = n; i > 0; i-- ) { if ( x != A[i] ) goto xValue; break; } xValue: cout << "The value of x: \n" << x; 我意识到

我应该获取以下程序片段并使用goto语句来显示通过循环的流控制:

for ( int i = n; i > 0; i-- ) {
    if ( x != A[i] )
    break;
}
for ( int i = n; i > 0; i-- ) {
    if ( x != A[i] )
    goto xValue;
    break;
}

xValue: cout << "The value of x: \n" << x;
我意识到应该避免使用goto语句,但这正是问题所要求的。我认为这就是它应该是的,因此通过循环显示流量控制:

for ( int i = n; i > 0; i-- ) {
    if ( x != A[i] )
    break;
}
for ( int i = n; i > 0; i-- ) {
    if ( x != A[i] )
    goto xValue;
    break;
}

xValue: cout << "The value of x: \n" << x;
for(int i=n;i>0;i--){
如果(x!=A[i])
转到xValue;
打破
}

xValue:cout我相信这是这个问题的正确解决方案:

xValue ( int i = n; i > 0; i-- )
      If ( x !=  A[i] )
        goto xValue;

我相信这是解决这个问题的正确方法:

xValue ( int i = n; i > 0; i-- )
      If ( x !=  A[i] )
        goto xValue;

问:为什么不删除“中断”?问:您是否也应该将for“for”循环替换为goto?因此,您的意思是将
for
替换为
goto
,并完全删除break语句@paulsm4I也将删除for循环,并用显式gotos替换它。for只是一个init块,后跟一个退出条件(基本上是if和goto),后跟一个body、一个增量操作和一个goto返回到退出条件检查。显然,只是为了任务;)你是这么想的吗@paulsm4@A.Chiesa
gotoxvalue(inti=n;i>0;i--)如果(x!=A[i])gotoxvalue问:为什么不删除“中断”?问:您是否也应该将for“for”循环替换为goto?因此,您的意思是将
for
替换为
goto
,并完全删除break语句@paulsm4I也将删除for循环,并用显式gotos替换它。for只是一个init块,后跟一个退出条件(基本上是if和goto),后跟一个body、一个增量操作和一个goto返回到退出条件检查。显然,只是为了任务;)你是这么想的吗@paulsm4@A.Chiesa
gotoxvalue(inti=n;i>0;i--)如果(x!=A[i])gotoxvalue