首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C语言】exit函数详解

一、exit函数的定义 exit 函数是 C 标准库中的函数,其原型定义在 stdlib.h 头文件中。exit 函数的作用是终止当前程序的执行,并返回一个指定的退出码给操作系统。...调用 exit 函数后,程序将立即终止执行,并返回 status 给操作系统。...exit(0):正常运行程序并退出程序; exit(1):非正常运行导致退出程序; return():返回函数,若在主函数中,则会退出函数并返回一值 当使用 exit(0)、exit(1) 和 ...3、退出函数 return  如退出主函数,正常退出使用 return 0: #include int main() { // 程序执行的一些操作... /.../ 程序正常结束并返回退出码 0 return 0; } 总结 在 C 语言中,return 语句用于从函数中返回一个值,并终止函数的执行。

1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    exit()、_exit()和_Exit()终止程序运行

    1、exit() 函数 用法: void exit(int status); exit() 函数是标准 C 库的一部分,常用于 C 和 C++ 程序中。...printf("After exit()\n"); return 0; } 2、_exit() 函数 用法: void _exit(int status); _exit() 函数是一个系统调用...与 exit() 不同,_exit(0) 不会执行任何清理动作,而是立即终止程序。与 exit() 不同,_exit() 函数是一个系统调用,不执行标准库的清理操作。...printf("After _exit()\n"); return 0; } 3、_Exit() 函数 用法: void _Exit(int status); 与 _exit() 类似,_Exit..._Exit() 的行为类似于 _exit(),但其设计与 exit() 具有相同的函数签名。它在 POSIX 兼容系统中得到标准化。 _Exit(0) 与 _exit(0) 类似,都是立即终止程序。

    14400

    PHP中exit,exit(0),exit(1),exit(‘0’),exit(‘1’),die,return的区别

    die(‘1’) die()和exit()都是中止脚本执行函数;其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别名。...该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。 参考:虽然两者相同,但通常使用中也有细微的选择性。...当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。.../readme.txt","r") or die("不能打开该文件"); //这种情况下,如果fopen函数被调用返回布尔值false时,die()将立即终止脚本,并马上打印 //传递给它的字符串,“死前还能说一两句话...begin"; exit(1); echo "end"; //输出begin exit(0) 不输出内容,结束程序 echo "begin"; exit(0); echo "end"; //输出begin

    1.7K20

    Python __exit__,__enter__函数with语句的组合应用

    函数优先于with后面的“代码块”(statements1,statements2,……)被执行。...__exit__(self, exc_type, exc_val, exc_tb) 执行完with后面的代码块后自动调用该函数。...with语句后面的“代码块”中有异常(不包括因调用某函数,由被调用函数内部抛出的异常) ,会把异常类型,异常值,异常跟踪信息分别赋值给函数参数exc_type, exc_val, exc_tb,没有异常的情况下...另外,如果该函数返回True、1类值的Boolean真值,那么将忽略“代码块”中的异常,停止执行“代码块”中剩余语句,但是会继续执行“代码块”后面的语句;如果函数返回类似0,False类的Boolean...,代码块运行完,自动调用了__exit__函数 代码演示2 更改上述部分代码如下,继续运行 def __exit__(self, exc_type, exc_val, exc_tb): print

    74810

    (C#)Application.Exit()、Environment.Exit(0)区别

    Application.Exit:通知winform消息循环退出。会在所有前台线程退出后,退出应用 强行退出方式,就像 Win32 的 PostQuitMessage()。...它意味着放弃所有消息泵,展开调用堆栈,并将执行返回给系统  方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口  Environment.Exit:立即终止当前进程,应用程序即强制退出...返回exitcode给操作系统, 相比之下Environment.Exit更狠些  因此我们可以构造以下的restart()函数重新启动应用程序          private static void...ReStart()          {              Application.Exit();              System.Diagnostics.Process.Start...(Application.ExecutablePath);          }  用Environment.Exit就无法完成这个功能

    3K40

    shell中的exit 0和exit 1「建议收藏」

    exit 0:正常运行程序并退出程序; exit 1:非正常运行导致退出程序; exit 0 可以告知你的程序的使用者:你的程序是正常结束的。...如果 exit 非 0 值,那么你的程序的使用者通常会认为 你的程序产生了一个错误。 在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。...当你 exit 0 的时候,在调用环境 echo $?...就返回0,也就是说调用环境就认为你的这个程序执行正确 当你 exit 1 的时候,一般是出错定义这个1,也可以是其他数字,很多系统程序这个错误编号是有约定的含义的。...如果你用 脚本 a 调用 脚本b ,要在a中判断b是否正常返回,就是根据 exit 0 or 1 来识别。 执行完b后, 判断 $?

    3.2K30

    c-atexit()和_exit()

    (即main执行结束后调用的函数) /*注意:按照ISO C的规定,一个进程可以登记多达32个函数,这些函数将由exit自动调用。...atexit()注册的函数类型应为不接受任何参数的void函数,exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。...*/ atexit(func); _exit(0); } A:这是因为使用了 _exit() 方法。此方法并没有调用清除数据相关的方法,比如 atexit()等。...exit和_exit都是用来正常终止一个进程的,主要区别是_exit会立刻进入内核,而exit先执行一些清除工作(包括执行各种终止处理程序,关闭所有标准I/O等,一旦关闭了IO,例如printf等函数就不会输出任何东西了...这两个函数会对父子进程有一定的影响,当用vfork创建子进程时,子进程会先在父进程的地址空间运行(这跟fork不一样),如果子进程调用了exit就会把父进程的IO给关掉。

    28710
    领券