搜索

C语言中exit();怎么用?

发布网友 发布时间:2022-02-28 09:55

我来回答

9个回答

热心网友 时间:2022-02-28 11:24

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,这个状态标识了应用程序的一些运行信息。

热心网友 时间:2022-02-28 12:42

exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。

在c语言中: exit(0):表示正常退出;exit(1):表示异常退出,这个1是返回给操作系统;值是返回操作系统的:0是正常退出,而其他值都是异常退出,所以我们在设计程序时,可以在推出前给一些小的提示信息,或者在调试程序的过程中查看出错原因。

使用exit()时,可以不论main()的返回值类型,它的头文件是 stdlib.h。

扩展资料:

进程函数:所在函数库为stdlib.h、process.h

void abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,并异常终止程序 无返回值。

void _exit(int status)终止当前程序,但不清理现场。

void exit(int status) 终止当前程序,关闭所有文件,写缓冲区的输出(等待输出),并调用任何寄存器的"出口函数",无返回值。

参考资料:百度百科-C语言函数

热心网友 时间:2022-02-28 14:17

加上头文件#include<stdlib.h>

然后程序里面exit(0);就可以了!

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Hello world!\n");
    exit(0);
    return 0;
}

热心网友 时间:2022-02-28 16:08

在需要的地方写上这个语句就可以了,执行这个语句程序就结束。

热心网友 时间:2022-02-28 18:16

按控制键,最后按指示灯,按推出就可以了

热心网友 时间:2022-02-28 20:41

void
exit(int
status);
程序终止函数,在退出之前会关门所有已经打开的文件,将缓存中的数据写入磁盘……
status:表示退出状态,一般情况下0表示正常退出,非0表示非正常退出,一般可以设为以一值:
EXIT_FAILURE:非正常退出,知道操作系统程序非正常退出
EXIT_SUCCESS:正常退出

热心网友 时间:2022-02-28 23:22

这个不可以直接使用,具体方法可以从百度文库查询。

热心网友 时间:2022-03-01 02:20

表示 关闭所有文件,终止正在执行的进程。
exit(1)表示异常退出.这个1是返回给操作系统的。
exit(x)(x不为0)都表示异常退出
exit(0)表示正常退出
exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。
程序例子:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
int main(intargc,char*argv[])
{
int status;
printf("Entereither1or2\n");
status=getch();
/*SetsDOSerrorlevel*/
exit(status-'0');
/*Note:thislineisneverreached*/
return0;
}
exit()和return的区别:
按照ANSI C,在最初调用的main()中使用return和exit()的效果相同。
但要注意这里所说的是“最初调用”。如果main()在一个递归程序中,exit()仍然会终止程序;但return将
控制权移交给递归的前一级,直到最初的那一级,此时return才会终止程序。return和exit()的另一个区别
在于,即使在除main()之外的函数中调用exit(),它也将终止程序。
_exit()与exit的区别:
头文件:
exit:#include<stdlib.h>
_exit:#include<unistd.h>
_exit()函数:直接使进程停止运行,清除其使用的内存空间,并销毁其在内核中的各种数据结构;
exit()函数则在这些基础上作了一些包装,在执行退出之前加了若干道工序。
exit()函数与_exit()函数最大的区别就在于 exit()函数在调用 exit 系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件。

热心网友 时间:2022-03-01 05:35

停止执行并退出程序追答参数可以是1或0,结果一样

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top