return与exit区别

exit  是用来结束一个程序的执行的,而return只是用来从一个函数中返回。

return

  return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。

  return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。

  如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

  如果实在不需要函数返回什么值,就需要用void声明其类型。

  补充:如果你函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值的

  例如:

  1、非void型

  int f1()

  {

  int i=1;

  return 1;

  //return(i); //这样也可以

  }

  2、void型

  void f2()

  {

  int i=1;

  //return;//这样也可以,不要这一句也可以

  }

  有时即使被调用函数是void类型被调函数中的return也不是毫无意义的

  举例:

  #include "stdio.h"

  void function()

  {printf("111111");

  return;

  printf("222222");

  }

  main()

  {function();

  }

  运行结果为:屏幕上只输出一串数字111111而没有222222。但是如果去掉function函数中的return语句,就可以同时输出一串数字222222。

exit()

  exit(0)表示正常退出执行程序,如果加其它的数值:1,2,....可以表示由于不同的错误原因而退出 。

  那么,1,2,3怎么对应不同的原因?   --你自己想让它是什么意思,它就是什么意思

  但一般都有常用的、通用的含义:比如   0   一般都表示正常返回、退出。

  因此,,在main函数中exit(0)等价于return 0。

时间: 2024-11-10 00:00:57

return与exit区别的相关文章

pl/sql中return和exit区别

经测试: 1.exit只能用于循环中,并且退出循环往下执行: 2.return可用于循环或非循环,并且退出整个程序模块不往下执行. declare i number :=1; j number :=1; begin loop if i>3 then exit; --return; end if; j:=1; begin loop if j>2 then exit; --return; end if; dbms_output.put_line('i=' || i || ',j=' || j);

return 和 exit 的区别

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

lr中exit(-1)和return 0的区别

LR脚本实践:关于lr中exit(-1)和return 0的区别 exit(-1):从当前action里面exit(-1)所在行,当前迭代里面直接退出来,终止运行: return 0:忽略当前action里面return 0后面的脚本,直接运行下一个action,以及下一个迭代: 比如做了个测试: Action6() { int count = 0; if (count ==0) { lr_output_message("%d",count); exit(-1); } lr_outpu

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

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);

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

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的区别是什么?

exit()是一个函数,结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,在父进程中wait系统调用将接受到此返回信息. return返回函数值,是关键字. 在main函数中我们通常使用return (0);这样的方式返回一个值. 但这是限定在非void情况下的也就是void main()这样的形式. exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束跳会操作系统. 但在如果把exit用在main内的时候无论main是否定义成void返回的值都是有效的,并且ex

理解 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)     {