我有这样的结构

for(..;..;..)
{
    if(true)
    {

    }
    //statements

}

我想在if-except-goto中编写一个语句,该语句将只在if-except-goto外部发送控件,并执行我标记的语句。

最佳答案

处理这种情况的一种常见方法是将if语句的主体放入一个单独的函数中,然后在函数由于某种原因无法完成时从函数的中间返回。函数返回后,for循环中的其余语句将运行。

void foo(void)
{
    //statements
    //statements

    if ( something_bad_happened )
        return;

    //statements
    //statements

    if ( some_other_bad_thing_happened )
        return;

    //statements
    //statements
}

void bar(void)
{
    for(..;..;..)
    {
        if ( some_foo_is_needed )
            foo();

        //statements
        //statements
    }
}

关于c - 基本程式设计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33819414/

10-08 22:37