- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言多个函数返回值
C
笔者从事 语言教学多年,在教学中学生们常常会问到如何编写具有多个返回
C C
值的 语言函数。编写有多个返回值的函数是所有 语言教材里均没有提到的
知识点,但在实际教学与应用的过程中我们都有可能会遇到这样的问题。有学生
也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用
return 语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值;或者
把需要返回多个值的一个函数分开几个函数去实现多个值的返回。这些方法虽然
最终都能实现返回要求的多个值,但从程序算法的合理性与最优化方面去考虑,
C return
显然不理想。我们知道 语言函数的返回值是通过函数中的 语句来实现
的,可是每调用一次函数,return 语句只能返回一个值。那么当我们希望从一个
函数中返回多个值时,用什么方法去实现比较合理呢?在教学过程中,我建议学
生跳出对return 语句的定势思维,一步步引导学生通过几种间接方式实现多个返
C
回值的 语言函数。以下是笔者在教学过程中引导学生采用的三种不同方法编
C
写多个返回值的 语言函数。
2 1
方法 :利用全局变量
C
分析:全局变量作为 语言的一个知识点,虽然我们都了解它的特点,但
在实际教学过程中应用得并不是很多。由于全局变量的作用域是从定义变量开始
C
直到程序结束,而对于编写有多个返回值的 语言函数,我们可以考虑把要返
回的多个值定义成全局变量。当函数被调用时,全局变量被更改,我们再把更改
后的全局变量值应用于主调函数中。函数被调用后被更改后的全局变量值即为函
数的数个返回值。下面以一个实例演示该方法的应用。
1 3
实例 :编写函数求 个数中的最大值与最小值。
2 max min
方法:把最大值、最小值分别定义成 个全局变量 、 ,在用户自定义
max min
函数中把求出来的最大值与最小值分别赋给全局变量 、 。函数调用完毕
max min
后全局变量的 、 值即保存了函数要求返回的值。程序参考代码如下:
#include stdio.h
#include conio.h
intmax,min;/*定义两个全局变量用于保存函数返回值*/
voidmax_min(int a,intb,int c)/*定义求最大最小值的函数*/
{max min a;/*初始化最大最小值*/
if(max if(max if(minb)min b;
if(minc)min c;
}
main()
{intx,y,z;
printf( 3 \n);
请输入 个整数:
scanf(%d,%d,%d,x,y,z);
max_min(x,y,z) ;/*调用求最大值与最小值的函数*/
printf( :%d; :%d,max,min);/*
三个数中的最大值为 最小值为 输出最大值与最
小值*/
getch();
}
调试结果如下:
3
请输入 个整数:
5,-6,2
:5; :-6
文档评论(0)