C

C语言实现函数返回多值

笔者从事C语言教学多年,在教学中学生们常常会问到如何编写具有多个返回值的C语言函数。编写有多个返回值的函数是所有C语言教材里均没有提到的知识点,但在实际教学与应用的过程中我们都有可能会遇到这样的问题。有学生也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值;或者return

把需要返回多个值的一个函数分开几个函数去实现多个值的返回。这些方法虽然最终都能实现返回要求的多个值,但从程序算法的合理性与最优化方面去考虑,显然不理想。我们知道C语言函数的返回值是通过函数中的return语句来实现的,可是每调用一次函数,return语句只能返回一个值。那么当我们希望从一个函数中返回多个值时,用什么方法去实现比较合理呢,在教学过程中,我建议学生跳出对return语句的定势思维,一步步引导学生通过几种间接方式实现多个返回值的C语言函数。以下是笔者在教学过程中引导学生采用的三种不同方法编写多个返回值的C语言函数。

2方法1:利用全局变量

分析:全局变量作为C语言的一个知识点,虽然我们都了解它的特点,但

于全局变量的作用域是从定义变量开始在实际教学过程中应用得并不是很多。由

直到程序结束,而对于编写有多个返回值的C语言函数,我们可以考虑把要返回的多个值定义成全局变量。当函数被调用时,全局变量被更改,我们再把更改后的全局变量值应用于主调函数中。函数被调用后被更改后的全局变量值即为函数的数个返回值。下面以一个实例演示该方法的应用。

c语言能实现函数返回的语句,C语言实现函数返回多值相关推荐

  1. c语言 10 9-8 7-6… 1循环语句,C语言学习与总结---第五章:循环结构程序设计

    循环结构程序设计 5.1 while语句 5.2 do-while语句 5.3 for语句 5.4 循环的嵌套 5.5 while与do-while的比较 5.7 改变循环执行的状态 5.7.1 co ...

  2. c语言switch判断字母,判断switch 语句 - C语言教程

    C switch 语句 一个 switch 语句允许测试一个变量等于多个值时的情况.每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查. 语法 C 语言中 switch ...

  3. 返回语句C语言return关键字

    时间紧张,先记一笔,后续优化与完善. C语言return关键字 return 用来终止一个函数并返回其前面跟着的值,绝对很简单. return (Val)://此括号可以省略.但一般不省略,尤其在返回 ...

  4. C语言return的用法详解,C语言函数返回值详解。 (本次转载仅供学习,感谢原创!!转发自C语言中文网,如有侵权请私信本人删除)

    C语言return的用法详解,C语言函数返回值详解 转载:http://c.biancheng.net/view/1855.html 函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这 ...

  5. C语言return的用法详解,C语言函数返回值详解

    函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过 return 语句返回. return 语句的一般形式为: return 表达式; 或者: return (表达式); 有 ...

  6. 单片机的c语言ppt,第9章-单片机的C语言编程.ppt

    第9章-单片机的C语言编程.ppt 第9章单片机的C语言编程 9 1C51编程语言简介9 2C51的数据类型9 3数据的存储器类型和存储器模式9 4SFR 位变量 存储器和I O接口的定义9 5C51 ...

  7. 匿名函数(Lambda表达式)与箭头函数

    "Lambda 表达式"(lambda expression)是匿名函数的别称. 在ES6中,允许使用箭头=>定义匿名函数. var f = v => v; 上面的箭头 ...

  8. c语言能返回字符串吗,C语言中函数返回字符串的四种方法

    在讨论着四种方法以前,首先要对函数有一个简单的认识,不管是在形实结合时,仍是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,天然函数在工做以前要把这个值拷贝一份供本身使用,你传进来 ...

  9. C语言编程>第十周 ⑦ 请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行……

    例题:请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回.一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始和结尾都没有空格. 请勿改 ...

最新文章

  1. antd4中Form.create已废弃
  2. 用面向对象的方法写敲门砖
  3. REVERSE-PRACTICE-BUUCTF-12
  4. sql GROUP BY子句使用实例
  5. 图解centos安装详细过程
  6. Linux命令之passwd
  7. 提升业务投入和研发人效,2个实用建议,很多大公司都在用
  8. Android会议室管理app
  9. Android Protobuf应用及原理
  10. 微信步数-小米运动步数霸榜教程
  11. iOS 面试题集合~[有答案]
  12. Quartus II 18.1的下载安装和注册
  13. 百度地图绘制实时路线以及最短线路规划
  14. python excel处理数据的优点_python处理excel的优势是什么
  15. c语言倍增算法,用倍增公式选股
  16. 教你文件名中文转英语并重命名的技巧
  17. HTML CSS 基础知识(简要)
  18. Nginx.conf配置文件中alias与root的区别
  19. CSS中的span样式对齐
  20. PS边框合集(超级简单)

热门文章

  1. python获取当前时间并格式化_python获取当前时间并格式化
  2. 数据库大作业代码展示1
  3. 我的世界java版粘土服务器ip,我的世界clay粘土
  4. 李瑞霖4.20黄金走势分析,黄金白银TD原油操作走势建议
  5. 关键词排名查询工具主要有哪些?
  6. 程序员必备神器,脑洞不是一般大!
  7. 为什么我注入mapper为null啊?
  8. 负数modulo运算_Java Modulo Operator-Java中的Modulus运算符
  9. C语言——实例005 输入三个整数x,y,z,请把这三个数由小到大输出。
  10. 字符的编码表示——ASCII码、国标码、Unicode码