return与exit的区别是什么?

exit()是一个函数,结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,在父进程中wait系统调用将接受到此返回信息。

return返回函数值,是关键字。

在main函数中我们通常使用return (0);这样的方式返回一个值。

但这是限定在非void情况下的也就是void main()这样的形式。

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

但在如果把exit用在main内的时候无论main是否定义成void返回的值都是有效的,并且exit不需要考虑类型,exit(1)等价于return (1)

exit(0); //正常退出

非0即是非正常退出

数字0,1,-1会被写入环境变量ERRORLEVEL,其它程序可以由此判断程序结束状态。

一般0为正常推出,其它数字为异常,其对应的错误可以自己指定。

时间: 2024-10-12 05:10:08

return与exit的区别是什么?的相关文章

关于return和exit

关于return和exit 在子进程退出的时候有两种方式,exit和exec族函数,不能使用return,为什么不能用return呢,exit改成return 会出现父子进程又各自重复开始进行. 1.exit函数和return函数的主要区别是: 1)exit用于在程序运行的过程中随时结束程序,其参数是返回给OS的.也可以这么讲:exit函数是退出应用程序,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息. main函数结束时也会隐式地调用exit函数,exit函数运行时首先

return和exit函数的区别

在上Linux课的时候,老师提到一句,调用vfork产生的子进程就是为了使用exec族函数来执行其他的代码逻辑. 在子进程退出的时候有两种方式,exit和exec族函数,不能使用return,为什么不能用return呢,为什么只有vfork会不让用return呢? 于是我就写了这样的代码 1 #include<stdio.h> 2 #include<unistd.h> 3 #include<stdlib.h> 4 5 6 int main() 7 { 8 pid_t p

return 和 exit 的区别

exit()          表示结束当前进程或当前程序,在整个程序中,只要有 exit,就退出,并将应用程序的一个状态返回给OS.一般 和操作系统相关的是0为正常退出,非0为非正常退出. return:     表示调用堆栈的返回.例如当程序进入函数调用时,当函数 调用结束,则return,返回上一层的调用.如果是在main函数 中,return则是结束当前进程. main函数的结束也会隐式的调用exit函数. return 和 exit 的区别,布布扣,bubuko.com

fork和vfork,return和exit的理解

fork和vfork的差别: 1.fork是创建一个子进程,并把父进程的内存数据copy到子进程中. vfork是创建一个子进程,并和父进程的内存数据share一起. 2.vfork是这样的工作的: (1).保证子进程先执行. (2).当子进程调用exit()或exec()后,父进程往下执行. 3.fork后来采用的优化技术,这样,对于fork后并不是马上拷贝内存,而是只有你在需要改变的时候,才会从父进程中拷贝到子进程中,这样fork后立马执行exec的成本就非常小了.而vfork因为共享内存所

return和exit的区别

#include<stdio.h> #include<sys/types.h> #include<sys/wait.h> #include<unistd.h> #include<signal.h> int main( void ) { daemon_init(); fprintf(stderr, "main进程[%d]\n", getpid() ); while( 1 ) { } exit(0); } int daemon_i

理解 break, continue, return 和 exit

你们知道 “break”, “continue”, “return” 和 “exit”的作用吗? 它们是功能强大的语言结构体.下面通过一个测试函数来说明它们之间的不同. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 'Starting' function Test-Function {     $fishtank = 1..10     Foreach ($fish in $fishtank)     {   

Windows下return,exit和ExitProcess的区别和分析

通常,我们为了使自己的程序结束,会在主函数中使用return或调用exit().在windows下还有ExitProcess()和TerminateProcess()等函数. 本文的目的是比较以上几种结束程序的方式的区别,并分析其原理. 首先我们用一个例子来说明几种结束方式的区别. 测试代码如下:#include#include#include class Test{public: Test (int i) {m_i=i; printf ("construct %d\n", m_i);

PHP中return 和 exit 、break和contiue 区别与用法

先说一下exit函数的用法. 作用: 输出一则消息并且终止当前脚本. 如果一段文本中包括多个以 结束的脚本,则exit退出当前所在脚本. 比如一篇php文本包括一下代码,则输出为world. <% echo "hello"; exit; ?> echo "world"; ?> 语法格式:void表示没有返回值. void exit ([ string $status ] ) void exit ( int $status ) 如果status是一段

return和exit

exit直接将程序结束,下面的所有程序就不执行了,必须和stdlib.h一起使用 return 将值返回给主函数main 一般使用#include "iostream",这个包含了#include <iostream> void 没有返回值 &是取地址操作符 地址数据对应的占位符是%p 使用如下两条语句可以清除输入缓冲区中当次输入的所有信息 scanf("%*[^\n]"); scanf("%*c"); printf = co