C语言中的exit与return的区别
- exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束
exit(0)表示进程正常退出. 返回 0;
exit(1)表示进程非正常退出. 返回 1.
- exit与return的区别
exit()函数与return语句的最大区别在于,调用exit()函数将会结束当前进程,同时删除子进程所占用的内存空间,把返回信息传给父进程。当exit()中的参数为0时,表示正常退出,其他返回值表示非正常退出,执行exit()函数意味着进程结束;而return仅表示调用堆栈的返回,其作用是返回函数值,并且退出当前执行的函数体,返回到函数的调用处,在main()函数中, return n和exit(n)是等价的。
return示例1:
#include <stdio.h>
#include <stdlib.h>
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
在上面的代码中,用return语句来退出while死循环,在main()函数中print()函数的调用处将返回值赋给ret,打印输出后可以看到使用return语句成功地返回了9。
exit示例2:
#include <stdio.h>
#include <stdlib.h>
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语言中的exit与return的区别相关推荐
- c语言中exit函数可以返回嘛,C语言中的exit函数 以及他与return函数的区别
1. exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 exit(0)表示进程正常退出. 返回 0; exit(1)表示进程非正常退出. 返回 1. 2. ...
- c语言 return退出函数,C语言中的exit函数 以及他与return函数的区别
1. exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 exit(0)表示进程正常退出. 返回 0; exit(1)表示进程非正常退出. 返回 1. 2. ...
- c语言中的exit函数
exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统. exit(0) 表示程序正常退出,exit⑴/exit(-1)表示程序异常退出. exit() 结束当前进程/当前程 ...
- C语言中fun1()和fun2(void)的区别
C语言中fun1()和fun2(void)的区别 在一次C语言实训中我发现老师在对无参函数的书写中写成fun2(void)的形式,这引起了我的好奇心,我只知道fun1()和fun2(void)是两个无 ...
- C语言中的sizeof()和strlen()的区别
C语言中的sizeof和strlen的区别 sizeof() strlen 大量案例(想深入了解可以看) 1.(花括号int的sizeof()) 2.(花括号char的sizeof()) 3.(字符串 ...
- linux脚本中的exit,Shell中exit和return的区别讲解
1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程.使用格式如下: exit [] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异常退 ...
- Shell 中 exit 和 return 的区别
1.exit 命令 exit 命令是 Shell 内建命令,用于退出当前 Shell 进程.使用格式如下: exit [N] 可以指定退出状态 N,N 的取值范围是 0-255,一般情况下,0 表示正 ...
- c语言gets和getchar区别,C语言中 gets 和 getchar 有什么区别
C语言中 gets 和 getchar 有什么区别 发布时间:2020-07-22 09:14:29 来源:亿速云 阅读:81 作者:Leah 这期内容当中小编将会给大家带来有关C语言中 gets 和 ...
- 计算机汇编指令mov和mova,汇编语言中mov和lea指令的区别详解
指令(instruction)是一种语句,它在程序汇编编译时变得可执行.汇编器将指令翻译为机器语言字节,并且在运行时由 CPU 加载和执行. 一条指令有四个组成部分: 标号(可选) 指令助记符(必需) ...
最新文章
- vc+如何添加右键弹出菜单
- 《评人工智能如何走向新阶段》后记(再续4)
- [python教程入门学习]Python标准库映射类型与可散列数据类型的关系
- R语言使用vtreat包的designTreatmentsC函数构建数据预处理计划、vetreat包的score frame(新生成数据变量的指南)、以及score frame字段说明
- RDA5807 FM收音机模块
- 通过访问列表实现MAC地址绑定,实现包过滤
- 点击调用ajax,jQuery ajax在点击时调用,仅工作一次
- Android KeyCode列表
- ios 如何在cell中去掉_经典问题:代码中如何去掉烦人的“!=nullquot;判空语句
- ovation系统服务器安装,Ovation系统介绍.ppt
- mysql二进制日志的开启和使用
- Allegro cadence下载安装
- 电脑计算机无法找到脚本文件夹,电脑弹出无法找到脚本文件怎么办
- 15.4数据库(4):MySQL创建中国数据库
- javaWeb之Response
- 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环10 次(线程面试:windows下实现)
- PPT内常用的五个插件
- python重启路由器_python 实现重启路由器
- 计算机房用什么气体灭火,气体灭火系统在通信机房中用量计算方法
- 架设个人Web服务器实战(通过ADSL路由)