在c语言中,是怎么使用全局变量使得被调用函数能够返回多个值?
展开全部
分析:全局变量作为C语言的一个知识点,虽然我们都了解它的特点,但在实际教学过程中应用得并不是很多。由于全局变量的作用域是从定义变量开始直到程序结束,而对于编写有多个返回值的C语言函数,我们可以考虑把要返回的多个值定义成全局变量。当函数被调用时,全局变量被更改,我们再把更改后的全局变量值应用于主调函数中。函数被调用后被更改后的全局变量值即为函数的数个返回值。下面以一个实例演示该方法的应用。
实例:编写函数求3个数中的最大值与最小值。
方法:把最大值、最小值分别定义成2个全局变量max、min,在用户自定义函数中把求出来的最大值与最小值分别赋给全局变量max、min。函数调用完毕后全局变量的max、min值即保存了函数要求返回的值。程序参考代码如下:
#include
"stdio.h"
#include
"conio.h"
int
max,min;/*定义两个全局变量用于保存函数返回值*/
void
max_min(int
a,int
b,int
c)
/*定义求最大最小值的函数*/
{max=min=a;
/*初始化最大最小值*/
if(max
if(max
if(min>b)min=b;
if(min>c)min=c;
}
main()
{int
x,y,z;
printf("
请输入3个整数:\n");
scanf("%d,%d,%d",&x,&y,&z);
max_min(x,y,z)
/*调用求最大值与最小值的函数*/
printf("三个数中的最大值为:%d;最小值为:%d",max,min);/*输出最大值与最小值*/
getch();
}
实例:编写函数求3个数中的最大值与最小值。
方法:把最大值、最小值分别定义成2个全局变量max、min,在用户自定义函数中把求出来的最大值与最小值分别赋给全局变量max、min。函数调用完毕后全局变量的max、min值即保存了函数要求返回的值。程序参考代码如下:
#include
"stdio.h"
#include
"conio.h"
int
max,min;/*定义两个全局变量用于保存函数返回值*/
void
max_min(int
a,int
b,int
c)
/*定义求最大最小值的函数*/
{max=min=a;
/*初始化最大最小值*/
if(max
if(max
if(min>b)min=b;
if(min>c)min=c;
}
main()
{int
x,y,z;
printf("
请输入3个整数:\n");
scanf("%d,%d,%d",&x,&y,&z);
max_min(x,y,z)
/*调用求最大值与最小值的函数*/
printf("三个数中的最大值为:%d;最小值为:%d",max,min);/*输出最大值与最小值*/
getch();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询