`return`可以在C中返回`break`吗?

Mar*_* E. 1 c arduino arduino-uno

我只是想做这样的事情:

int moduleDecision(int ModuleSelect)
{
    if (ModuleSelect == Nmodules)
    {
        ModuleSelect == 0x00;
        return (break);
    }
    else
    {
        ModuleSelect = ModuleSelect + 0x01;
        return ModuleSelect;
    }
}
Run Code Online (Sandbox Code Playgroud)

我在更大的内部调用此函数switch,所以我希望能够退出交换机if ModuleSelect == 0x00.

为什么它不起作用?

Fre*_*son 7

break是一个语句,不是表达式.它没有任何价值.它当然不是一个int.此代码无法编译.

您可以做的一件事是为特殊情况指定一个特定的值来返回.在调用代码中,测试该值并break在那里.