C语言中return的各种用法

article/2025/10/9 10:08:22

    按初学的理解,return的任务就是返回对应的参数,在外层函数中对这个参数做进一步处理。

    实际上return的用法不只这些。

为调用的函数返回参数值

    此类应用最为普遍,通常是在一个具有返回值的函数中,返回一个参数值,这个返回的参数可以是一个数、表达式。通常情况下,返回值是一个值,如果想返回多个值可以参考以下三点:

  • 设置全局变量,全局变量是定义在函数外的一个变量,其不属于任何一个函数,所以,虽然在调用函数中return返回一个值,但可以将其余的返回值赋值给全局变量,这样就做到了返回多个值的效果。

  • 使用数组名或指针作为函数形参,返回的是一个地址,主函数可以根据这个地址找到多个,要返回的数据。

  • 使用结构体作为函数形参,结构体中可以包含多种形式的变量,以结构体作为形参相当于将所有返回值打包在一起,一次返回。

提前结束函数

    由于return具有把程序流程从被调函数转向主调函数的作用,所以时候也会用来终止函数的调用,也就是说return是提前结束函数的唯一方法。因为函数一遇到return就立即返回,return后面的程序都不再执行,所以一个函数中可以有多个return,但只会执行一个。return后面可以跟一个参数作为返回值,也可以不跟参数,仅仅代表结束此函数。

返回一个函数

    如果return后面跟的是一个函数的话,就意味着,跳出此调用函数,并且跳出后执行return后的函数,然后继续在主函数中执行程序。有时利用return返回一个操作,比如在程序调试中出错后,需要return跳出错误函数并向串口打印出错误的原因,这个时候return后面的函数就用来向串口打印错误原因的。

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。


http://chatgpt.dhexx.cn/article/sFZG0MUD.shtml

相关文章

个人公众号,多谢关注

个人公众号,多谢关注!

Java用BufferedImage处理图片实例

最近,项目中需要对图片进行处理。实现的方式当然有很多种,这里,我使用了Java的BufferedImage进行了实现。由于对图片的不熟悉,实现的时候费了点儿劲,这里记录一下,以备后用。 场景描述:其实问题…

彻底理解ThreadLocal、ITL、TTL

懒人改变了世界,简化了世界,却隐瞒了世界的真相. 大家好,今天跟大家剖析一下ThreadLocal. 文章目录 痛苦的回忆抛几个问题前奏铺垫正片详解 痛苦的回忆 不知道大家有没有面向JDBC编程的经历.如果有的话,可以回想一下那是一种怎样的体验;如果没有,也可以假装有这样的经历,然…

【转】线上内存溢出分析

状况描述: 最近项目新打的版本,过不了多长时间,项目就会挂掉。状况就是处于一种假死的状态。索引查询都很慢,几乎进行不了任何操作,慢慢卡死。 然后我们再发版时,只能基于之前打好的war包,替换或…

SQL Server数据库基础的级联删除、级联更新与三层架构之窥

一、定义: 级联删除是指删除包含主键值的行的操作,该值由其它表的现有行中的外键引用。在级联删除中,还删除其外键值引用删除的主键值的所有行。 级联更新是指更新主键值的操作,该值由其它表的现有行中的外键引用。在级联更新中&a…

正则表达式

正则表达式简介: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。   给定一个正则表达式和另一个…

SQL Server2005中触发器的运用

编写过存储过程的人,再编写触发器时会发现:他们的语法、格式是非常类似的。其实触发器就是一种特殊类型的存储过程。他们都是预编译的,在程序正式编译前就由编译器进行编译,存储在服务器端。 不过,触发器与一般的存储过…

关于SimpleDateFormat安全的时间格式化线程安全问题

关于SimpleDateFormat安全的时间格式化线程安全问题 2014年02月18日 16:19:40 zxh87 阅读数:34426 想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用…

LaTex - 插入公式 (从MathType公式编辑器导入到LaTex中)

原创 LaTex 论文排版(2): 插入公式 (从MathType公式编辑器导入到LaTex中) 2019年03月08日 09:37:40 在水一方xym 阅读数 5948 更多 分类专栏: LaTex 论文排版 LaTex 论文排版 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议&…

CSS总结

自从做牛腩新闻发布系统的时候,就开始了CSS的学习。CSS这部分知识并不是孤立的,它与JavaScript,与XML,与AJAX等都有着密切的关系。在制作网页的过程中,CSS就是充当一个化妆师的角色,它能够让我们制作出各式…

大型网站应用之海量数据和高并发解决方案总结

一、网站应用背景 开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器一台数据库服务器一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能&…

ehcache memcache redis三大缓存男高音

 研究使用缓存已经有一段时间了,今天本来想对比一下它们异同以及使用场景。然后我发现已经有前辈做了很不错的总结,而且这篇文章跟我也有很多共鸣。我想说的也就这些,所以这里就直接拿来主义了。 不过,还…

技术是个王八蛋,可是长得真好看

看完题目,请勿喷。最近的生活可能太苦逼了,好想吐槽一下~~~ 首先,先来分享一段个人特别喜欢的话: 透视社会依次为三个层面:制度、文化和技术。小到一个人,大到一个国家,一个民族,任…

学习,不是一件发愁的事儿

曾经,我有一个很幼稚的想法。有人告诉我:人体的细胞,每隔七年,就会大换血一次,经历一个大的生命周期。听完我就害怕了,七年?那七年后,我现在学习的所有知识,就全被我忘干…

记一次通过Memory Analyzer分析内存泄漏的解决过程

状况描述: 最近项目新打的版本,过不了多长时间,项目就会挂掉。状况就是处于一种假死的状态。索引查询都很慢,几乎进行不了任何操作,慢慢卡死。 然后我们再发版时,只能基于之前打好的war包,替换或…

数字图像处理之尺度空间理论

尺度空间(scale space)思想最早是由Iijima于1962年提出的,后经witkin和Koenderink等人的推广逐渐得到关注,在计算机视觉领域使用广泛。 尺度空间理论的基本思想是:在图像信息处理模型中引入一个被视为尺度的参数,通过连续变化尺度…

为什么要用高斯核来生成尺度空间?

信号的尺度空间刚提出是就是通过一系列单参数、宽度递增的高斯滤波器将原始信号滤波得到到组低频信号。那么有一个疑问就是,除了高斯滤波之外,其他带有参数t的低通滤波器是否也可以用来生成一个尺度空间呢? 但翻看资料得知国外诸多学者都已经…

【高分论文密码】大尺度空间模拟预测与数字制图教程

详情点击链接:【高分论文密码】大尺度空间模拟预测与数字制图 一,R语言空间数据及数据挖掘关键技术 1、R语言空间数据及应用特点 1)R语言基础与数据科学 2)R空间矢量数据 3)R栅格数据 2、R语言空间数据挖掘关键技术 二,R语言空间数据高…

尺度空间及SIFT

尺度空间方法的基本思想是:在视觉信息处理模型中引入一个被视为尺度的参数,通过连续变化尺度参数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征。尺度空间方法将传统的单尺度视觉信息处理技术纳入尺度不断变化的…

【高分论文密码】大尺度空间模拟预测与数字制图

大尺度空间模拟预测和数字制图技术和不确定性分析广泛应用于高分SCI论文之中,号称高分论文密码。大尺度模拟技术可以从不同时空尺度阐明农业生态环境领域的内在机理和时空变化规律,又可以为复杂的机理过程模型大尺度模拟提供技术基础。在本次培训中&…