Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8318
  • 博文数量: 6
  • 博客积分: 269
  • 博客等级: 二等列兵
  • 技术积分: 45
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-28 12:22
文章分类
文章存档

2012年(6)

我的朋友
最近访客

分类:

2012-05-31 23:44:18

原文地址:return和exit比较 作者:yulianliu1218



exit(0):正常运行程序并退出程序;
exit(1):非正常运行导致退出程序;
return():返回函数,若在主函数中,则会退出函数并返回一值。
详细说:
1. return返回函数值,是关键字; exit 是一个函数。
2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
3. return是函数的退出(返回);exit是进程的退出。
4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。
5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一 个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出, 非0 为非正常退出。
6. 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的
阅读(299) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

Aquester2012-06-04 09:50:39

exit(0)和exit(1)的解释可以稍改正一下,什么值为正常、什么值为非正常,是用户定义的行为,可以认为exit(1)是正常退出,不过Linux下的惯例是进程退出码为0表示正常退出,但并不是绝对的。