最近看到了这样的问题,有参函数和无参函数的区别是不是一个有返回值,一个没有返回值 

其实并不是这样的,我们来具体分析一下

首先就是返回值return函数

C/C++ 中,reutrn语句是这样定义的:

通过在函数中使用返回语句,返回一个值给函数,同时终止函数的调用,返回主函数。(注意:同时终止函数的调用,也就是说函数在运行到return时就会终止了。)

格式:    return (表达式); 或return 表达式;

功能:

(1)计算表达式的值,将表达式的值返回给函数。

(2)从被调用的函数返回主调函数。

说明:

(1)返回值类型应和函数类型一致,不一致将返回值自动转换成函数类型。

(2)函数中可以有多条返回语句,这时一般与if语句联用,执行到哪一条返回语句,哪条返回语句起作用。

(3)函数中无return语句,执行至函数体结尾时返回,此时将返回一个不确定的值给函数。

(4)如果只需要从函数中返回,而不需带回值,使用不带表达式的return语句。

此外,有时调用一个函数,需要返回多个参数,这种情况应当如何处理呢?

可以有两种办法:一是申请一个全局变量,在函数调用时对其进行处理,返回主程序时仍然可用;另一种办法是,返回一个指针,指针指向一个结构体,或者一个数组,这样就能返回多个参数了。而指向结构体的指针,在很多情况下是很常见的。

我们再来看下有参函数和无参函数

从形式上看,函数可分为两类:无参函数和有参函数。

所谓无参函数,是指在主调函数调用被调函数时,主调函数不向被调函数传递数据。无参函数一般用来执行特定的功能,可以有返回值,也可以没有返回值,但一般以没有返回值居多。

有参函数,是指在主调函数调用被调函数时,主调函数通过参数向被调函数传递数据。在一般情况下,有参函数在执行被调函数时会得到一个值并返回给主调函数使用。

定义有参函数的一般形式为:

函数类型 函数名(参数类型1 参数名1, 参数类型2 参数名2, …, 参数类型n 参数名n)
{
   声明部分
   语句部分
}

无参多个返回值的函数

func myfunc01( ) (int,int,int) {
return 1,2,3
}

 那是不是有参函数就有返回值,无参函数就没有返回值呢,其实不是的,这个要看函数的声明

一、一般的情况,C语言默认的返回值的类型是int整形,其他的函数看其函数前的类型就可以知道这个函数的返回值是什么类型,返回值是函数在被调用之后根据其传入的参数来进行运算从而获得一个最终的值,这值称函数的返回值。

二、一个函数的函数名既是该函数的代表,也是一个变量。由于函数名变量通常用来把函数的处理结果数据带回给调用函数,即递归调用,所以一般把函数名变量称为返回值。

所以说如果是void声明的函数一般就没有返回值,其他有返回类型的函数就有返回值,而不是取决于有参与无参

那一个函数可以有多个返回值吗?

这是可以的,虽然RETURN只能返回一个值,但是没有对这个值有类型要求,返回个数组是可以的。数组里的元素有两个就相当于返回两个值,还可以返回结构体,实现不同类型的返回值,这样就实现了一个函数返两个值。

所以说如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~

UP在主页上传了一些学习C/C++编程的视频教程,有兴趣或者正在学习的小伙伴一定要去看一看哦!会对你有帮助的~

加群1083227756!!!

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

免费学习课程:

免费学习视频:

 也可来加群一起交流学习  1083227756

C语言学习:一个函数可以有几个返回值?相关推荐

  1. 如何引用传递参数从一个函数中得到多个返回值

    2019独角兽企业重金招聘Python工程师标准>>> 通过"引用"传递参数的方法从一个函数中得到多个返回值.就像三元运算符一样,大部分受过正式编程训练的程序员都 ...

  2. 函数中有多个return?C语言中,一个函数可以有几个返回值?

    在移植wifi的代码时,遇到了一些与下面类似的函数,这些函数中有不只一个return,这可是个新鲜的玩意儿: int func (int b) {int a=5;if (a>b)return a ...

  3. c语言自定义char*函数返回值是乱码_[每日C语言」printf()函数的修饰符和返回值...

    在上一个小demo<printf()函数(1)>中主要说了一下printf()函数的转换说明符,这些转移说明符是可以被修饰的.我们可以在%d和定义的转义字符之间通过插入修饰符对基本的转换说 ...

  4. C语言编写一个函数,实现计算并返回一个整数的平方(或立方)

    老规矩分析 1.输入一个数(scanf) 2.返回分平方立方 #include <stdio.h>void main(){//如果数据太大请使用double定义iint i,pf,lf;p ...

  5. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  6. C语言学习一个月后感想

    C语言学习一个月后感想 感谢李晓东老板及计算机工程师联盟的学长学姐和某神秘同级同学的辛勤指导,感谢宋雨田的督促和陪伴. 初识C的1..体会 我本以为凭借瓜皮思维和花里胡哨操作可以让我熟练地学习语言,现 ...

  7. 【C语言】C语言实现一个函数 判断是否是素数

     欢迎来到南方有乔木的博客!!! 博主主页:点击点击!戳一戳!! 博主QQ:1636758318 博主简介: 一名在校大学生,正在努力学习Java语言编程.穷且意坚,不坠青云之志,希望能在编程的世界里 ...

  8. c语言的十进制转十六进制字符串,用c语言写一个函数把十进制转换成十六进制,该如何处理...

    用c语言写一个函数把十进制转换成十六进制 用c语言写一个函数把十进制转换成十六进制 网上找到一些,感觉有占乱 分享到: ------解决方案-------------------- #include ...

  9. C语言学习记录——팔 函数和递归(1)

    库函数 IO函数 字符串操作函数 (比如strlen) 字符操作函数(比如把大写转小写) 内存操作函数(memset) 时间/日期函数(time) 数学函数(sqrt开平方) 其他库函数 怎样使用文档 ...

  10. 用C语言实现一个函数,判断一个数是不是素数

    用C语言实现一个函数,判断一个数是不是素数 编写程序,设计一个函数IsPrime,该函数用于判定一个数m是否是素数,如果是素数则返回1,否则返回0. 素数定义:只能被1和本身整除而不能被他其他正整数整 ...

最新文章

  1. java override格式_Lambda表达式告别@override
  2. es6-Symbol
  3. Fabric--启动网络自动
  4. 018 jquery中的事件
  5. C#模板引擎NVelocity实战项目演练
  6. C/C++库函数math用法案例篇二
  7. 拓端tecdat|使用OpenCV在Python中进行图像处理
  8. NinePatchChunk.java分析
  9. 全文索引的使用(二)--使用同义词库
  10. 基于asp电子商城购物网站设计
  11. 64位计算机比32快多少,电脑系统应该选择64位还是32位 到底哪个速度更快?
  12. 不老嘞 - 2004和老婆游香山
  13. SQL 限定返回行数
  14. 移动App统计指标汇总
  15. ESP8266 + MAX7219 做一个简易的自动同步的倒计时时钟
  16. 白杨SEO:微信视频号怎么玩?推广、涨粉、上热门及赚钱技巧大全
  17. 防火墙技术及应用(一)
  18. Java StringTokenzier
  19. 供应链金融生态系统全解读,在不同的行业都有哪些模式?
  20. SSM框架学习文档以及SSM整合(附Github地址=含SSM学习时的实例代码)

热门文章

  1. 基于近似计算的同态加密方案CKKS17----实现库介绍
  2. DAOS整体设计分析 (一)
  3. Ubuntu下插入网线无法联网的问题
  4. Neo4j 第二篇:图形数据库
  5. Voxel RCNN:高性能3D目标检测网络(AAAI2021)
  6. [转]大规模服务设计部署经验谈
  7. 人文精神、人文教育与高等教育 徐梦秋
  8. [Elasticsearch] 邻近匹配 (一) - 短语匹配以及slop参数
  9. 字节跳动---雀魂启动
  10. 摩克机器人_第三章 摩克都市的一场灾难(上)