[英]Quit the whole program early in C?
通常说我有一些函数step1
step2
...,它们被依次调用:
int main()
{
...
step1(); // something wrong detected and need to break out of the whole program
step2();
step3();
...
}
我如何才能从step1
突围而跳过所有其余代码以终止main()
函数?
目前,我只能想到将像bool isErr
这样的全局变量设置为标志,以便
step1(); // error detected and isErr is set to 1 inside step1()
if (isErr)
return;
step2();
...
是否有更好或更规范的方法?
顺便说一句,我听说goto
不好,所以我将其丢弃:)
采用
exit(1);
数字表示退出状态。 0表示没有故障,大于0的所有值表示错误。
您可以在实际任何地方在step1()
, step2()
...期间的任何时候使用exit()
函数终止进程。
exit
将使程序无论您身在何处都将终止,但是在大多数情况下,这是一个坏主意,检查函数的返回值并进行处理(例如,在您的情况下退出)是一种更干净的方法(不需要全局变量)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.