exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束。
return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。
在多个进程时如果有时要检测上进程是否正常退出的就要用到上个进程的返回值。
exit(1)表示进程正常退出 返回 1;
exit(0)表示进程非正常退出 返回 0
*** 作:
1、进程的开始:
C程序是从main函数开始执行, 原型如下:int main(int argc, char argv[]),通常main的返回值是int型, 正确返回0如果main的返回值为void或者无, 某些编译器会给出警告, 此时main的返回值通常是0
2、进程终止:
C程序的终止分为两种: 正常终止和异常终止正常终止分为: return, exit, _exit, _Exit, pthreade_exit异常中指分为: abort, SIGNAL, 线程响应取消。正常终止的前4种, 即exit系列函数
3、 atexit终止处理程序:
ISO C规定, 一个进程最对可登记32个终止处理函数, 这些函数由exit按登记相反的顺序自动调用 如果同一函数登记多次, 也会被调用多次
原型如下:
#include
int atexit(void (func)(void));
其中参数是一个函数指针, 指向终止处理函数, 该函数无参无返回值
扩展资料
exit函数和return函数的主要区别:
1)exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。
exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件。
exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程;而return是返回函数值并退出函数。
通常情况:exit(0)表示程序正常, exit(1)和exit(-1)表示程序异常退出,exit(2)表示表示系统找不到指定的文件。在整个程序中,只要调用exit就结束(当前进程或者在main时候为整个程序)。
2)return是语言级别的,它表示了调用堆栈的返回;return( )是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。
在多个进程时。如果有时要检测上个进程是否正常退出。就要用到上个进程的返回值,依次类推。而exit是系统调用级别的,它表示了一个进程的结束。
3)exit函数是退出应用程序,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息。
前两天刚学了一招:
#define Reset() ((void (code ) (void)) 0x0000) ()
然后在需要返回程序开始的地方直接调用Reset();就可以了。
如果你指的是跳出函数的话,使用return就可以了
格式如下:
return 返回值;
返回值的类型要等于函数类型,如果函数是void,返回值为空(即return ;)
以上就是关于C语言中exit();怎么用全部的内容,包括:C语言中exit();怎么用、C语言中怎么从子程序返回到程序的开始、c++语言中跳出子程序用什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)