博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux编程return与exit区别
阅读量:7280 次
发布时间:2019-06-30

本文共 903 字,大约阅读时间需要 3 分钟。

Linux编程return与exit区别

exit  是用来结束一个程序的执行的,而return只是用来从一个函数中返回。

return

return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。

 

return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。

 

如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

 

如果实在不需要函数返回什么值,就需要用void声明其类型。

 

补充:如果你函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值的

 

例如:

 

1、非void型

 

int f1()

 

{

 

int i=1;

 

return 1;

 

//return(i); //这样也可以

 

}

 

2、void型

 

void f2()

 

{

 

int i=1;

 

//return;//这样也可以,不要这一句也可以

 

}

 

有时即使被调用函数是void类型被调函数中的return也不是毫无意义的

 

举例:

 

#include "stdio.h"

 

void function()

 

{printf("111111");

 

return;

 

printf("222222");

 

}

 

main()

 

{function();

 

}

 

运行结果为:屏幕上只输出一串数字111111而没有222222。但是如果去掉function函数中的return语句,就可以同时输出一串数字222222。

 

exit()

exit(0)表示正常退出执行程序,如果加其它的数值:1,2,....可以表示由于不同的错误原因而退出 。 

那么,1,2,3怎么对应不同的原因?   --你自己想让它是什么意思,它就是什么意思  

  但一般都有常用的、通用的含义:比如   0   一般都表示正常返回、退出。

因此,,在main函数中exit(0)等价于return 0。

转载地址:http://fazjm.baihongyu.com/

你可能感兴趣的文章
[MySQL学习] Innodb change buffer(1)之初识篇
查看>>
页面图层显示顺序
查看>>
数据结构——队列
查看>>
MySQL内核月报 2014.08-MySQL· 捉虫动态·long semaphore waits
查看>>
linux 目录操作函数
查看>>
DT科技评论:第1期(创刊号)
查看>>
Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”
查看>>
android-async-http框架源码分析
查看>>
【Oracle】v$表和v_$同义词的访问权限
查看>>
用了 CSDN 的 markdown 编辑器吐槽下~~
查看>>
MariaDB newest alpha version Features short VS PostgreSQL 9.3
查看>>
mongoDB pair replication [ two master when remote unreachable ]
查看>>
Node.js框架之express与koa对比分析
查看>>
与MySQL的注释、Query_cache有关的一个bug
查看>>
EVA6400 virtual storage principle overview
查看>>
Greenplum 注意对其数据类型,否则优化器让你好看
查看>>
活动盒子产品总监分享:活动运营,让用户为你疯狂打Call
查看>>
前端 js 收藏集
查看>>
从一次性能优化看https的性能
查看>>
vue cli(webpack)增加发布到测试环境
查看>>