exit
来自cppreference.com
| 定义于头文件 <stdlib.h>
|
||
| void exit( int exit_code ); |
(C11 前) | |
| _Noreturn void exit( int exit_code ); |
(C11 起) | |
导致正常程序终止出现。
进行几个清理步骤:
- 以注册的逆序调用传递给 atexit 的函数
- 冲入并关闭所有 C 流
- 移除 tmpfile 创建的文件
- 将控制返回给宿主环境。若
exit_code为零或 EXIT_SUCCESS ,则返回指示成功终止的实现定义状态。若exit_code为 EXIT_FAILURE ,则返回指示不成功终止的实现定义状态。其他情况下返回实现定义的状态值。
目录 |
[编辑] 注解
不调用由 at_quick_exit 注册的函数。
若程序调用 exit 多于一次,或它调用 exit 和 quick_exit ,则行为未定义。
若在调用由 atexit 注册的函数期间,以 longjmp 退出该函数,则行为未定义。
从 main 函数返回时,无论是通过 return 语句还是抵达函数尾,都会将 return 语句的参数(或若使用隐式返回,则为 0 )作为 exit_code 传递,执行 exit() 。
[编辑] 参数
| exit_code | - | 程序的退出状态 |
[编辑] 返回值
(无)
[编辑] 示例
运行此代码
可能的输出:
error opening file data.txt in function main()