我们如何终止go声明

时间:2015-05-15 14:42:05

标签: c++ goto

无论如何都要在任何时候结束(终止)goto声明:

int main()
{
    here:
    cout <<lovely<<endl;
    //here terminates
    cout<<"mera yeh"<<endl;  
    goto here;  

return 0;
}

我希望程序只打印

lovely
mera yeh
lovely

然后程序终止。无论如何我能做到吗?

2 个答案:

答案 0 :(得分:1)

goto没有“开始”然后“结束”,所以你不能“终止”它。这不是的事情,所以你不能让它停止

您所能做的就是:

  • 根据您的要求使用变量和条件跳过goto
  • 首先使用其他东西来控制流程。

很难再回答这个问题,因为最明显的解决方案是:

#include <iostream>

int main()
{
    std::cout << "lovely"   << std::endl;
    std::cout << "mera yeh" << std::endl;  
    std::cout << "lovely"   << std::endl;
}

显然这不是你想要的,或者你不会在这里。

答案 1 :(得分:1)

使用结构化循环而不是goto

while (true) {
    cout << "lovely\n";
    if (should_break()) {
        break;
    }
    cout << "mera yeh\n";
}

(你可以用第二个goto拼凑相同的程序流程,但你不应该这样,所以我不会告诉你如何。)