如何立即关闭C中的程序?

Syn*_*ror 22 c exit

我正在编写C代码,我正在分析一些数据.我已将程序设置为仅处理100个数据输入.当它有超过100个输入时,它会产生分段错误.我想创建一种方法,以便当输入数量超过100时,将警告用户并终止程序.我知道如何通过简单的方式从main函数中完成它return 0,但是我是远离main的多个函数调用而且很难做到这一点,即使return 0在这个函数中也会保持循环.

是否有任何直接的方法来终止整个程序而不是主要的?

K-b*_*llo 38

exit您正在寻找标准功能:

正常终止进程,执行常规清理以终止进程.

首先,通过调用atexit注册的所有函数都按照其注册的相反顺序执行.然后,关闭所有流并删除临时文件,最后将控件返回到主机环境.

status参数将返回给主机环境.

如果您修复了段错误,那会更好.


Hei*_*bug 6

您需要包含标准库,然后您可以在任何地方调用exit:

#include <stdlib.h>
...
exit(status);
Run Code Online (Sandbox Code Playgroud)

其中status是表示退出代码的整数.对于关注状态:对于约定0是成功,其他值表示错误状态.

  • 该标准提供常量EXIT_SUCCESS和EXIT_FAILURE.有些机器中任何偶数都被认为是成功的,而奇数值则是失败. (2认同)