C语言中return的各种用法
按初学的理解,return的任务就是返回对应的参数,在外层函数中对这个参数做进一步处理。
实际上return的用法不只这些。
为调用的函数返回参数值
此类应用最为普遍,通常是在一个具有返回值的函数中,返回一个参数值,这个返回的参数可以是一个数、表达式。通常情况下,返回值是一个值,如果想返回多个值可以参考以下三点:
设置全局变量,全局变量是定义在函数外的一个变量,其不属于任何一个函数,所以,虽然在调用函数中return返回一个值,但可以将其余的返回值赋值给全局变量,这样就做到了返回多个值的效果。
使用数组名或指针作为函数形参,返回的是一个地址,主函数可以根据这个地址找到多个,要返回的数据。
使用结构体作为函数形参,结构体中可以包含多种形式的变量,以结构体作为形参相当于将所有返回值打包在一起,一次返回。
提前结束函数
由于return具有把程序流程从被调函数转向主调函数的作用,所以时候也会用来终止函数的调用,也就是说return是提前结束函数的唯一方法。因为函数一遇到return就立即返回,return后面的程序都不再执行,所以一个函数中可以有多个return,但只会执行一个。return后面可以跟一个参数作为返回值,也可以不跟参数,仅仅代表结束此函数。
返回一个函数
如果return后面跟的是一个函数的话,就意味着,跳出此调用函数,并且跳出后执行return后的函数,然后继续在主函数中执行程序。有时利用return返回一个操作,比如在程序调试中出错后,需要return跳出错误函数并向串口打印出错误的原因,这个时候return后面的函数就用来向串口打印错误原因的。
声明:
本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
C语言中return的各种用法相关推荐
- c语言函数遇到return就结束,关于c语言中return的用法介绍
关于c语言中return的用法介绍 发布时间:2020-04-21 16:18:52 来源:亿速云 阅读:334 作者:小新 本篇文章和大家了解一下关于c语言中return的用法介绍.有一定的参考价值 ...
- 在c语言中通过return语句,c语言中return的用法
c语言中return的用法 函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过 return语句返回. return 语句的一般形式为:return 表达式; 或者:retu ...
- c语言中 char怎样用,C语言中char*和char[]用法区别分析
C语言中char*和char[]用法区别分析 本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很 ...
- C语言中atoi()函数的用法
C语言中atoi()函数的用法 一.学习要点: 1.int atoi(const char *str)把参数str所指向的字符串转换为一个整数: 二.代码 #include<stdio.h> ...
- python语言中with as的用法使用详解
本篇文章主要介绍了python语言中with as的用法使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 With语句是什么? 有一些任务,可能事先需要设置,事后做 ...
- c语言memcopy_C语言中memcpy 函数的用法详解
C语言中memcpy 函数的用法详解 memcpy(内存拷贝函数) c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址 ...
- scanf在c语言中的作用,c语言中scanf的基本用法
前言 scanf()是C语言的格式输入函数,和printf函数一样被声明在stdio.h头文件中,它的基本使用很简单: 1 int a; 2 scanf("%d",&a); ...
- c语言time函数的作用,c语言中time函数的用法
c语言中time函数的用法 c语言中time函数的用法的用法你知道吗?下面应届毕业生小编就跟你们详细介绍下c语言中time函数的用法的用法,希望对你们有用. c语言中time函数的用法的用法如下: 头 ...
- c语言sinx的作用,C语言中 sinx cosx 的用法
#include #include int main() { double pi=acos(-1.0); double angle; scanf("%lf",&angle) ...
最新文章
- vue输入框联想词功能
- Redis缓存穿透 缓存击穿 缓存雪崩原因及其解决方案
- Node.js 教程
- ubuntu安装kali工具包
- 什么是浏览器同源策略?
- Java面试题以及答案精选(架构师面试题)-Spring专题
- android中的横幅通知
- LeetCode 939. Minimum Area Rectangle (最小面积矩形)
- 【材料课堂】锂电池基础
- 完善计算机 实践性教学,计算机基础实践性教学分析论文
- 酒桌上的那些礼仪规矩~
- 解决Configure TrackPoint重启后不能保存的问题
- 个人信贷不良资产管理 难题亟待解决
- Connection could not be established with host smtp.163.com [Connection timed out #110]
- django 使用网上下载的前端模板
- PHP获取自然周始末时间
- 应用bootstrap模板
- java服务器端集成微信小程序
- 无法从计算机验证正在安装驱动,intel CPU集显驱动失败,无法为此计算机验证正在安装的驱动程序...
- IntelliJ IDEA 2021下载、安装
热门文章
- tls1.1 tls1.2_Java 8将默认使用传输级别安全性(TLS)1.2
- jaxb 命名空间_在JAXB解组期间应用名称空间
- JLBH示例1 –为什么应在上下文中对代码进行基准测试
- jpa 查询 列表_终极JPA查询和技巧列表–第2部分
- glassfish_具有GlassFish和一致性的高性能JPA –第2部分
- spring mvc拦截器_Spring MVC拦截器示例
- 用Java创建自己的AOP
- 使用GZIP和压缩数据
- 使用Arquillian测试安全的EJB
- Java状态和策略设计模式之间的差异