return与exit()的区别

本文详细解释了return与exit两个函数的区别。return用于结束一个函数的执行并将控制权交还给调用者,而exit则用于终止整个进程并将其状态返回给操作系统。文中还探讨了在main函数中使用这两个函数的不同效果。

  1. return返回函数值,是关键字;很明显,exit()是一个函数。
  2. return语言提供的,是语言级别的,它表示了调用堆栈的返回,是函数的退出(返回);而exit是操作系统提供的(或者函数库中给出的),是系统调用级别的,它表示了一个进程的结束。exit()退出程序,把控制权交给操作系统;return结束当前函数,返回函数值,把控制权交给调用函数。
  3. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给操作系统,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0为非正常退出。
  4. 非主函数中调用returnexit效果很明显,但是在main函数中调用returnexit的现象就很模糊,多数情况下现象都是一致的。
  5. main函数结束时,会隐式地调用exit函数,所以一般程序执行到main()结尾时,则结束主进程。exit将删除进程使用的内存空间,同时把错误信息返回给父进程。
  6. 对于单独的进程exit的返回值是返回给操作系统的,但如果是多进程,则是返回给父进程的。父进程里面调用waitpid()等函数得到子进程退出的状态,以便作不同处理。根据相应的返回值来让调用者作出相应的处理。总的说来,exit()就是当前进程把其控制权返回给调用该子程序的主程序,括号里的是返回值,告诉调用程序该程序的运行状态。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值