exit ) )退出当前进程/当前程序(,在整个程序中调用exit即可退出
return ()是当前函数的返回。 当然,如果您在主函数main中,当前进程当然也会结束。 否则,将返回到上一级调用。 如果有多个进程.如果要检测上一个进程是否成功结束.请使用上一个进程的返回值.
表示exit(1)进程正常结束。 返回1;
exit(0)表示进程未正常结束。 回到0。
过程环境和过程控制(1) :过程的开始和结束
1 .进程的启动:
c程序从main函数执行,原型为以下:
intmain(intargc,char *argv[];
main的返回值通常为int类型,正确地返回0。
如果main返回值为void或无,一些编译器会发出警告。 在这种情况下,main的返回值通常为0。
main命令行参数的说明不多,以下过程显示:
以下是代码片段。
#包含
(intmain(intargc,char *argv[] ) ) ) ) ) ) ) ) ) ) )
{
int i;
for(I=0; i argc; I )
printf(argv[%d]:%s(n ),I,argv[i];
返回0;
}
2.
过程结束:
C程序的终止分为两种:正常终止和异常终止。
正常结束分为: return、exit、_exit、_exit、_exit、pthreade_exit
异常中指分为: abort、SIGNAL,线程响应取消
主要谈正常结束的前四种,即exit系列函数。
以下是代码片段。
#包含
语音退出(int status;
void_exit(intstatus;
#包含
void_exit(intstatus;
以上三个函数的区别是:
exit ()或return 0)调用退出处理程序和用户空间的标准输入/输出清理程序(如fclose )。
_exit和_exit不调用,内核直接交接并清除
料理。
因此,在main函数中,exit(0)与return 0等价。
3.
atexit结束处理程序:
ISO C中规定,一个进程最多可以登录32个结束处理函数,这些函数通过exit按照与登录相反的顺序自动调用。同一函数被多次登录时,
有时也会被做
多次呼叫。
原型为以下:
#包含
intatexit(void(*func ) ) void );
这里,参数是函数指针,是指终端处理函数。 这个函数没有自变量,也没有返回值。
以下程序为例:
以下是代码片段。
#包含
静态语音我的退出1 (
{
打印机(firstexithandler (n ) );
}
静态语音我的退出2 (
{
printf (第二次xithandler (n );
}
int main () )
{
if(atexit(my_exit2)!=0)
printf(can ) tregistermy_exit2(n );
if(atexit(my_exit1)!=0)
printf(can ) tregistermy_exit1(n );
if(atexit(my_exit1)!=0)
printf(can ) tregistermy_exit1(n );
printf (维护(n ) );
返回0;
}
执行结果:
以下是代码片段。
$ ./a.out
main is done
第一次退出处理程序
第一次退出处理程序
第二次退出处置器运行结果:
$./a.out arg1 arg2 arg3
argv[0]:/a.out
argv[1]: arg1
argv[2]: arg2
argv[3]: arg3
lpar; 向rpar迁移; 在c语言中使用Exit函数
在c语言中使用Exit函数Exit ()现在退出当前进程/当前程序/,在整个程序中只需调用Exit即可退出return ) )
函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如 ...C语言中system()函数的用法总结(转)
system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: #include #include
c语言中的c语言中realloc()函数解析
c语言中realloc()函数解析 真是有点惭愧,这些内容本应该很早就掌握的,以前只是糊里糊涂的用,不知道在内存中具体是怎么回事,现在才弄清楚. realloc(void *__ptr, size_t ...
C语言中qsort函数用法
C语言中qsort函数用法-示例分析 本文实例汇总介绍了C语言中qsort函数用法,包括针对各种数据类型参数的排序,非常具有实用价值非常具有实用价值. 分享给大家供大家参考.C语言中的qsort ...
使用C语言中qsort()函数对浮点型数组无法成功排序的问题
一 写在开头 1.1 本节内容 本节主要内容是有关C语言中qsort()函数的探讨. 二 问题和相应解决方法 qsort()是C标准库中的一个通用的排序函数.它既能对整型数据进行排序也能对浮点型数据进 ...
C语言中malloc函数返回值是否需要类型强制转换问题
1. 在C语言中, 如果调用的函数没有函数原型, 则其返回值将默认为 int 型. 考虑调用malloc函数时忘记了 #include 的情况 此时malloc函数返回 ...
R语言中apply函数
前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...
C语言中malloc函数的理解
在C语言中malloc函数主要是用在堆内存的申请上,使用malloc函数时,函数会返回一个void *类型的值,这个值就是你申请的堆内存的首地址:为什么返回的地址是一个void *类型的地址呢?首先我 ...
关于C语言中printf函数“输出歧视”的问题
目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...
随机推荐
Linux 安装Weblogic12 - copy
# groupadd weblogic# useradd -g weblogic weblogic# passwd weblogic# mkdir -p /var/bea# chown -R webl ...
Windows计数器做性能监控(window server 2008服务器)
使用Windows计数器 一.创建数据收集器集 二.创建数据收集器 三.使用数据收集器 1.修改数据收集器的属性 2.手动启用.手动停止数据收集器集 3.计划任务 4.在性能监视器中查看 一.性能监视 ...
HDU1166-敌兵布阵(线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 #include #include #i ...
Horizontal,vertical,Input_Mouse,Input_Key
鼠标获取 using UnityEngine; using System.Collections; public class Input_Mouse : MonoBehaviour { void Up ...
js编码、解码
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...
JavaSwing JScrollPane的使用
JavaSwing JScrollPane的使用: 参考:http://duyz.blog.ifeng.com/article/340649.html package com.srie.test; i ...
最近任务 &;&; react文章列表
最近任务 读书 数据分析 react深入学习 可视化大图 移动端入门 [React学习] 入门学习-文本渲染 http://www.cnblogs.com/huxiaoyun90/p/4783663. ...
Python自省
自省就是通过一定机制查询到对象的内部结构,也就是运行时获取对象内部的属性以及类型,在Python中dir(),type(), hasattr(), isinstance()都是很好的自省例子 #!/u ...
黄聪:PHP去掉转义后字符串中的反斜杠\函数stripslashes
addslashes函数主要是在字符串中添加反斜杠对特殊字符进行转义,stripslashes则是去掉转义后字符串中的反斜杠,比如lmdmn提交一段json数据到PHP端的时候可能会遇到json字符串中有 ...
python 读取wav 音频文件的两种方式
python 中,常用的有两种可以读取wav音频格式的方法,如下所示: import scipy from scipy.io import wavfile import soundfile as sf ...