【Linux】exit(0)exit(1)return
exit()与return的区别:
- exit(0):正常运行程序并退出程序,调用时程序运行正常结束;
- exit(1):非正常运行导致退出程序,调用时程序运行非正常结束;
- return():返回函数,若在主函数中,则会退出函数并返回一值,在其他函数中意味着函数调用完毕,并返回一个值。
本质上:
- return返回函数值,是关键字; exit 是一个函数。
- return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
- return是函数的退出(返回);exit是进程的退出。
- return是C语言提供的;exit是操作系统提供的(或者函数库中给出的)。
- return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出, 非0 为非正常退出。
- 非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。
示例一:
#include<stdio.h>#include<stdlib.h>void fun(){printf("调用return前\n");return;//结束此函数的调用printf("调用return后\n");} int main(){printf("调用fun函数前\n");fun();printf("调用fun函数后\n");return 0;}
运行结果:
调用fun函数前
调用return前
调用fun函数后
示例二:
#include<stdio.h>#include<stdlib.h>void fun(){// printf("调用return前\n");// return;//结束此函数的调用// printf("调用return后\n");printf("调用exit前\n");exit(0);printf("调用exit后\n");} int main()
{printf("调用fun函数前\n");fun();printf("调用fun函数后\n");return 0;
}
运行结果:
调用fun函数前
调用exit前
结语
人生就应该exit(0),光明磊落,血气方刚,在对的时间做对的事,才不枉在世上走一回。
【Linux】exit(0)exit(1)return相关推荐
- 【Linux】1.0常见指令以及权限理解(上)
文章目录 1.Linux简介 1.1 Linux内核介绍 1.2Centos操作系统介绍 2.Linux 常见指令 1. ls 指令 2.pwd 指令 3.cd 指令 4.touch指令 5.mkdi ...
- 【Linux】_exit()、exit(0)、exit(1)与return区别详解
功能: _exit() :退出程序. exit(0):运行正常退出程序: exit(1):运行异常退出程序: return():返回函数,若在主函数中,则会退出函数并返回值. _exit() 和 ex ...
- 【Linux】4.0进程控制
文章目录 Linux进程退出 Linux进程等待 wait( )函数 waitpid( )函数 进程程序替换 exec*函数系列 Makefile创建多个程序 mini_shell 内建命令和第三方命 ...
- 【Linux】一步一步学Linux——exit命令(207)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 总结 06. 附录 01. 命令概述 exit命令用来退出当前的shell或退出终 ...
- 【Linux】【服务器】 CentOS7下安装MySQL(版本8.0)详细过程步骤
一.检查是否安装过mysql [Linux][服务器]CentOS7下卸载MySQL详细过程步骤 二.下载Linux下的Mysql包,打开Mysql官网 1.MySQL官网 2.滑到最后,点击MySQ ...
- 【Linux】在Ubuntu上部署web项目(Ubuntu版本为16.04.7,jdk1.8、mysql5.7、tomcat9.0.48)
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
- 【 Linux 】Vim 使用的第一个阶段(满足基本的写代码需求)
由于是刚接触vim,也不知道怎么学,那就站在巨人的肩膀上吧,死记硬背书上的那些指令肯定也不是我所能接受的,看到了一篇博客,写的还不错,([ Linux ]Vim学习指南 ),这是我转载的一篇博文,里面 ...
- 【Linux】一步一步学Linux——trap命令(229)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 其它说明 05. 参考示例 06. 附录 01. 命令概述 trap命令用于指定在接收到信号后将要采 ...
- Linux 线程并发拷贝,【Linux】线程并发拷贝程序
据说大连某211高校的李教授越来越重口,不仅延续要求他所带的每一个本科班,都要写一份线程并发拷贝程序的传统,而且还开始规定不能用Java语言写作,导致我之前写的<[Java]线程并发拷贝程序&g ...
- 【Linux】3.0Linux进程概念
文章目录 1.冯诺依曼体系结构 1.1计算机体系的奠基人 1.2冯诺伊曼体系讲解 1.3机器间的数据交互 2.操作系统(OS) 2.1操作系统基本概念 2.2操作系统管理理解 2.3操作系统进程管理 ...
最新文章
- FFmpeg实现获取USB摄像头视频流测试代码
- 人工智能:各种知识收集----不断追加内容
- Qt读取TXT文件时,GBK与UTF-8编码判断
- LYNC2013部署系列PART4:群聊部署
- java正则表达式验证密码_最新密码验证正则表达式
- python爬虫抓取51cto博客大牛的文章保存到MySQL数据库
- scanf函数的返回值问题
- Vue菜单栏边框参差不齐,修整完美
- 编辑距离 在输入检测中的应用
- 我是小白0基础,现在我想学习前端开发,该如何系统的学习?
- 第七届蓝桥杯javaB组真题解析-抽签(第五题)
- Linux基础命令---检查密码文件pwck 1
- ant design 时间控件清空值
- 第115页的gtk+编程例子——最简单的进度条2附带使用Anjuta写gtk程序的步骤
- myeclipse10破解补丁激活方法
- 靠微信小程序两周获客20万,同城小程序开始爆发
- Spark算子:RDD行动Action操作–aggregate、fold、lookup;reduce/fold/aggregate区别
- 五一假期维修手机感想
- 使用梯子导致的浏览器不能正常使用
- Quartus II实验二 运算部件实验:并行乘法器