请问return和exit有什么区别和联系?

wxch 2007-03-08 10:31:01
请问return和exit有什么区别和联系?
...全文
1491 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenjiaqiang 2011-09-08
  • 打赏
  • 举报
回复
学习了!
wxch 2007-03-20
  • 打赏
  • 举报
回复
谢谢上面各位指点。
aimbin 2007-03-15
  • 打赏
  • 举报
回复
exit()是操作系统提供的系统调用,用于结束整个进程.
return 是C语言中的库函数,用于从函数中返回,如果在main()中使用return(),将退出程序,返回shell中,return所返回的值由shell接收
yzx1983 2007-03-12
  • 打赏
  • 举报
回复
你需要知道的是,main函数并不是真正的可执行文件的入口点,它也是一个被调用的函数而已,如果在main里直接调用exit,那自然就直接结束了程序;而如果使用return,那么程序将返回到main被调用处,之后其实也是调用了exit来结束整个程序。
believefym 2007-03-11
  • 打赏
  • 举报
回复
>>对于exit返回不同值的用途,有谁能给我举个例子吗?

貌似一般返回0表示成功,这个是给操作系统的,调试的时候也能用到
lbaby 2007-03-10
  • 打赏
  • 举报
回复
wxch(wxch) ( ) 信誉:100 Blog 2007-03-09 11:34:04 得分: 0


对于exit返回不同值的用途,有谁能给我举个例子吗?


-------------------------------------
如果你对UNIX的shell熟悉的话,你就会知道这个返回值的作用
在UNIX的shell中,约定返回0为执行成功,其它为出错,
脚本中就可以着样来判断:
command
if [ $? -eq 0 ] ; then
#do as command done with successfuly executed
else
#do with command's fail execution
fi

windows好像没有这些机制,所以,如果你在windows下的话,爱返回什么都行

oyp254710980 2007-03-10
  • 打赏
  • 举报
回复
exit是结束程序,执行exit程序就结束了,不再执行!

return是返回函数一个值,这个函数执行完了,而这整个程序没有结束,还继续往下执行!
wwi875 2007-03-10
  • 打赏
  • 举报
回复
exit()是中止整个程序,而return()是跳出某个函数。
whoho 2007-03-09
  • 打赏
  • 举报
回复
比如以下程序
int main()
{
return 2; //也可换成exit(2)
}
运行结束,都将向系统返回2
假设都在命令行/shell中运行,则可以通过如下方式检验:
windows: echo %errorlevel%
linux/unix: echo $?
检验结果,你应当都会看到2
whoho 2007-03-09
  • 打赏
  • 举报
回复
如果在main函数中return n跟exit(n)基本是一样的效果
但是如果不在main中,就不一样了
lbaby 2007-03-09
  • 打赏
  • 举报
回复
在main中,不管你用的什么,都要调用exit
wxch 2007-03-09
  • 打赏
  • 举报
回复
对于exit返回不同值的用途,有谁能给我举个例子吗?
rongcanf 2007-03-09
  • 打赏
  • 举报
回复
exit()是中止整个程序,而return()是跳出某个函数。
haroldi 2007-03-09
  • 打赏
  • 举报
回复
在main中,如果不调用main,二者相同,否则不同...
iambic 2007-03-09
  • 打赏
  • 举报
回复
>>对于exit返回不同值的用途,有谁能给我举个例子吗?

不知道你用没用过make。如果make过程中一个环节的进程返回非0值,make会终止。
yeknight 2007-03-09
  • 打赏
  • 举报
回复
exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值.. exit(1)表示进程正常退出. 返回 1; exit(0)表示进程非正常退出. 返回 0.
ayw215 2007-03-09
  • 打赏
  • 举报
回复
mark
飞哥 2007-03-09
  • 打赏
  • 举报
回复
exit是主程序退出
return是函数退出
xiao_feng123 2007-03-08
  • 打赏
  • 举报
回复
return是返回函数的值,并跳出函数,exit是结束整个程序!
springlie 2007-03-08
  • 打赏
  • 举报
回复
void exit(int state)是一个函数
程序中止执行,返回调用过程
state 0-正常中止,非0-非正常中止

return是个关键字,用于返回子函数的调用结果到main函数,在main函数中用就返回状态到操作系统.

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧