什么时候用return什么时候用exit啊
时间:2010-08-20
来源:互联网
- #include <stdio.h>
-
- int i = 8;
-
- int main(void)
- {
- i--;
- printf("i =[%d]\n", i);
- if (i > 2){
- main();
- }
- printf("i*i =[%d]\n", i*i);
-
- return 0;
- }
- i =[7]
- i =[6]
- i =[5]
- i =[4]
- i =[3]
- i =[2]
- i*i =[4]
- i*i =[4]
- i*i =[4]
- i*i =[4]
- i*i =[4]
- i*i =[4]
后面的 i*i竟然也输出了六次,但是都等于4..
有朋友回复用exit(0)就会只打印一次4.
我想知道,在程序中,什么时候用return什么时候用exit啊。
作者: chinesedragon 发布时间: 2010-08-20

作者: pandaiam 发布时间: 2010-08-20
pandaiam 发表于 2010-08-20 14:14
我知道,但是那只解释了这一道题啊
作者: chinesedragon 发布时间: 2010-08-20
其他的时候都一样..
但是main里面再调用main,这种用法一般没啥用..
所以,在main里面, return和exit还可以认为是等效的.

作者: pandaiam 发布时间: 2010-08-20
作者: daybreakcx 发布时间: 2010-08-20
作者: hellioncu 发布时间: 2010-08-20
hellioncu 发表于 2010-08-20 14:17
你的意思是我在除main函数的其它函数中调用exit,则整个进程就退出了,这个函数就不返回main了???
作者: chinesedragon 发布时间: 2010-08-20
作者: pandaiam 发布时间: 2010-08-20
chinesedragon 发表于 2010-08-20 14:21
不管哪里调用,比如其它函数,甚至是线程,只要调用exit,整个进程就退出了
作者: liwangli1983 发布时间: 2010-08-20
liwangli1983 发表于 2010-08-20 14:23
哈哈,这下明白了。以前看见在main函数中有的用return有的用exit,迷惑啊
作者: chinesedragon 发布时间: 2010-08-20
exit是直接退出程序,而return是返回调用该程序的程序。
递归之后如果用return的话 当然是返回上一级函数 所有用return的话 会打印4个4
而exit是使整个程序退出,所以就直接退出了 不管是否递归几层。
作者: zhanglistar 发布时间: 2010-08-20
exit是直接退出程序,而return是返回调用该程序的程序。
递归之后如 ...
zhanglistar 发表于 2010-08-20 15:06
谢谢,现在明白了
作者: chinesedragon 发布时间: 2010-08-20
int main ()
{
while(1)
}
作者: xxw19840406 发布时间: 2010-08-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28