赞
踩
示例:
_exit()
- #include <stdio.h>
- #include <unistd.h>
-
- int main(void) {
- printf("hello\n");
- printf("OK");
- _exit(0);
- }
-
输出结果:
hello
exit()
- #include <stdio.h>
- #include <stdlib.h>
-
- int main(void) {
- printf("hello\n");
- printf("OK");
- exit(0);
- }
输出结果:
- hello
- OK
原因:
printf函数使用的是缓冲I/O的方式,该函数在遇到“\n“换行符时自动的从缓冲区中将记录读出。
exit() 将缓冲区的数据写完后才能退出来,所以调用exit()函数后程序并不会马上退出,会把OK也输出出来。
_exit() 是直接退出进入到内核中了。
参考:
https://blog.csdn.net/yyfwd/article/details/50548359
https://www.cnblogs.com/ECJTUACM-873284962/p/6882448.html#autoid-0-0-0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。