return 跟 exit(0) 有什么区别,什么情况下使用。

在学习数据结构的时候,顺序表在进行插入算法时,判断位置i的值是否溢出的时候,使用了printf("positionerror");return;在进行删除算法时,判断是否... 在学习数据结构的时候,顺序表在进行插入算法时,判断位置i的值是否溢出的时候,使用了printf("position error"); return; 在进行删除算法时,判断是否溢出时,使用了printf("position error"); exit(0); 语句。
请问这两个有什么区别,我知道exit(0)是在执行非正常结束时使用的退出。可在这里还是不清楚为什么不用同一个语句。
展开
 我来答
junlin1991
推荐于2017-10-03 · TA获得超过354个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:110万
展开全部
楼主去看一下书上面,对这两条语句的定义。return是用来对一个函数进行返回,它是基本语句。而exit(0)本身是一个带有一个参数的函数,用来表示这个程序已经结束。之所以你查绝不到他们的区别,是因为这两条语句在main函数里面产生的表面效果是一样的,都是终止了这个程序(但是实质是不同的)。还有,如果在其它函数里面分别加入这两条语句(在这个函数运行完不会导致程序结束的情况下),它们是不同的。楼主亲自去测试一下吧,印象更加深刻。纯手机打字,希望对你有帮助
yang_bigarm
2012-09-30 · TA获得超过3949个赞
知道大有可为答主
回答量:1664
采纳率:100%
帮助的人:623万
展开全部
Stevens的不朽名著《Unix环境高级编程》第7章上说的很清楚,return 0 和 exit(0) 没有本质的差别。但是 return 后面什么都不写则程序的行为是未定义的。

但是一个程序如果正常运行的话,应该以0为退出的值,如果程序发生异常,应该返回一个非零的值,你这个程序是position error,那么就不应该exit(0),而是应该写exit(POSITION_ERROR);
Richter的巨著《Windows核心编程》告诉我们,要在在程序的开头定义你自己的错误代码,并写入相应的软件设计文档。所以你要写:
#define POSITION_ERROR (-1)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
youngj888
2012-09-30 · 超过14用户采纳过TA的回答
知道答主
回答量:55
采纳率:100%
帮助的人:20.7万
展开全部
return 退出子程序,返回呼叫函数,主程序一般不会结束。除非是在main()函数里内直接执行 return,则两者的效果一样。
exit 则无论在那里执行,都会结束主程序的运行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
靖央捷颖馨
2019-05-19 · TA获得超过3885个赞
知道大有可为答主
回答量:3138
采纳率:28%
帮助的人:389万
展开全部
楼主去看下书上面对两条语句定义return用来对函数进行返回基本语句而exit(0)本身带有参数函数用来表示程序已经结束之所查绝们区别因两条语句main函数里面产生表面效样都终止了程序(实质同)还有其函数里面分别加入两条语句(函数运行完会导致程序结束情况下)们同楼主亲自去测试下吧印象更加深刻纯手机打字希望对有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
temp2000
2012-09-30 · TA获得超过483个赞
知道小有建树答主
回答量:564
采纳率:100%
帮助的人:351万
展开全部
exit(0)是直接退出程序;
return;是退出函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式