c语言 return退出函数,C语言中的exit函数 以及他与return函数的区别
1. exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束
exit(0)表示进程正常退出. 返回 0;
exit(1)表示进程非正常退出. 返回 1.
2. exit与return的区别
exit()函数与return语句的最大区别在于,调用exit()函数将会结束当前进程,同时删除子进程所占用的内存空间,把返回信息传给父进程。当exit()中的参数为0时,表示正常退出,其他返回值表示非正常退出,执行exit()函数意味着进程结束;而return仅表示调用堆栈的返回,其作用是返回函数值,并且退出当前执行的函数体,返回到函数的调用处,在main()函数中, return n和exit(n)是等价的。
return示例1:
#include #include int print()
{
int n;
n = 0;
printf("使用return来结束循环\n");
while(1)
{
if(9==n)
return n;
n++;
}
return 0;
}
void main(void)
{
int ret;
printf("调用print()函数之前\n");
ret = print();
printf("print()函数的返回值ret=%d\n",ret);
printf("调用print()函数之后\n");
return ;
}运行结果:
调用print()函数之前
使用return来结束循环
print()函数的返回值ret=9
调用print()函数之后
在上面的代码中,用return语句来退出while死循环,在main()函数中print()函数的调用处将返回值赋给ret,打印输出后可以看到使用return语句成功地返回了9。
exit示例2:
#include #include void print()
{
int n;
n = 0;
printf("使用exit来结束循环\n");
while(1)
{
if(9==n)
exit(1);
n++;
}
return ;
}
void main(void)
{
int ret;
printf("调用print()函数之前\n");
ret = print();
printf("print()函数的返回值ret=%d\n",ret);
printf("调用print()函数之后\n");
return ;
}
运行结果:
调用print()函数之前
使用exit来结束循环从以上代码可以看出,如果执行exit()函数后能够返回到main()函数的调用处,那么可以打印出接下来的信息“调用print()函数之后”,但是运行结果表明在调用exit()函数之后没有任何输出,所以执行exit()函数之后将直接结束整个程序的运行。
c语言 return退出函数,C语言中的exit函数 以及他与return函数的区别相关推荐
- c语言stdlib h常用函数,c语言中,头文件stdlib.h主要包含什么函数?
stdlib.h里面定义了五种类型.一些宏和通用工具函数. 类型例如size_t.wchar_t.div_t.ldiv_t和lldiv_t: 宏例如EXIT_FAILURE.EXIT_SUCCESS. ...
- 【C语言小知识】C语言中的exit(1)和exit(0)表示什么意思
1.exit(1)表示异常退出. 2.exit(0)表示正常退出.
- c语言中exit函数作用,c语言中exit函数 c语言中exit与break区别
C语言中exit();怎么用? exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束. return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进 ...
- c语言putchar函数_C语言中的putchar()函数与示例
c语言putchar函数 C语言中的putchar()函数 (putchar() function in C) The putchar() function is defined in the < ...
- c语言的point函数,C语言中friend友元函数详细解析
C语言中friend友元函数详细解析 友元函数是可以直接访问类的私有成员的非成员函数.它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字frien ...
- c语言中什么函数可以作为虚函数,C++语言中的“虚函数”就像C语言中的指针,必须要弄懂的...
上一节较为详细的讨论了C++语言中基类被派生类继承过程中的内存模型,尤其较为详细的分析了虚函数及其虚表.虚表指针在内存中是如何分布,如何存储的,这对于理解C++语言中的"动态绑定" ...
- java可以使用c语言中的输入,c语言中的scanf在java中应该怎么表达,Scanner类。
1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...
- c语言求字符ascii,C语言中ASCII码是什么意思? c语言怎么求字符的ascii码
导航:网站首页 > C语言中ASCII码是什么意思? c语言怎么求字符的ascii码 C语言中ASCII码是什么意思? c语言怎么求字符的ascii码 相关问题: 匿名网友: 是一个字符表,一个 ...
- c语言atan的作用,C语言中的atan和atan2
在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x) 他们返回的值是弧度 要转化为角度再自己处理下. 前者 ...
最新文章
- 构造图 Codeforces Round #236 (Div. 2) C. Searching for Graph
- [转]只让指定的机器连接SQLServer服务器
- 5.【练习题】构造方法与重载
- hive脚本执行方式
- asp.net发送邮件时在正文中插入图片
- 剑指 Offer II 055. 二叉搜索树迭代器
- Mac安装IDA后各版本android_server
- linux找不到mysql服务_linux mysql 找不到 mysql/mysql.h
- SwiftUI实战教程 第一章:前言
- 不知道考研各科课程那个老师的课好?怎么选择安排?在哪找课程课本资料?看这里
- 攻防世界-Mobile-基础android (Misc经验解法)
- 【MySQL学习笔记(十六)】之redo日志超详细讲解
- Python 爬虫自动访问点击刷CSDN博客文章阅读量
- Linux学习笔记---阿里云
- codevs1013 求先序排列 string黑科技[三星]
- APS54085 线性PWM调光降压 LED恒流驱动芯片
- NO7、斐波那契数列(easy不需再刷)
- java 有序的list_Java 中的 List —— 有序序列
- 从零开始社区之路,手把手教你开源自己的Python包
- python爬取百度地图_python 爬虫百度地图的信息界面的实现方法