C语言 针对特定条件中断程序[已关闭]

sf6xfgos  于 2022-12-26  发布在  其他
关注(0)|答案(2)|浏览(107)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
10分钟前就关门了。
Improve this question
我正在使用c语言构建一个二次方程求解器,如果用户输入0作为a的值,我想停止程序。我该怎么做呢?
我试过在开关语法中使用break,但是它不能停止程序。

6yoyoihd

6yoyoihd1#

在C程序的主函数中插入

return <something>

然后返回你想要的任何东西,如果你是从另一个函数计算的,你必须在那个函数中插入return语句,然后再在main函数中插入return语句,break语句结束循环。
查看您的实际代码可能会有所帮助

lmvvr0a8

lmvvr0a82#

switch-case语句中的break关键字只会保留开关本身,我猜你是在做某种循环吧?这在代码中会更容易一些,但不管怎样,在这些情况下,虽然使用return语句也是“正确的”,但更适合声明一个名为flag的变量来控制程序的流程:

int main()
{
   int flag = 0;
   while (!flag && other_conditions)
   {
       // get value of a
       if (a == 0)
           flag = 1;
       else
       {
            // do the rest
       }
    }
    return flag;
}

如果这是在函数中,它的工作方式非常相似,例如,必须通过引用传递一个标志,并检查该标志是1还是0。

int func(args, int*x)
{
    if (a == 0)
         *x = 1;
    else
    {
        //code
    }
    return result;
}

然后在主函数中你需要检查这个值是1还是0,如果是,就到程序的结尾,如果不是,就继续.
在附录中,正如一些用户提到的,你确实可以使用return和exit语句,但是这些被认为是糟糕的编程实践,至少对于像C这样的语言是结构化的,因此至少应该尝试遵循单入口单出口规则。

相关问题