概述
数据能从主调函数传给被调函数,反过来,函数的返回值也能从被调函数传回主函数,这就要使用return。
return
1、关键字 return 后面的表达式就是函数的返回值
2、返回值不仅可以赋给变量,也可以用作表达式的一部分。
3、返回值不一定是变量的值,也可以是任意表达式的值。
4、使用return语句的另一个用是,终止函数并把控制返回给主调函数的下一条语句。
举个例子:
#include<stdio.h>
int max(int x,int y);
int main()
{
int a;
int b;
int c;
printf("请输入两个整数:\n");
scanf("%d %d",&a,&b);
c=max(a,b);
printf("主调函数打印:这两个数中最大的是:%d\n",c);
printf("ok\n");
getchar();
getchar();
return 0;
}
int max(int x,int y)
{
int max;
return max= (x>y)?x:y;
printf("被调函数打印:这两个数中最大的是:%d\n",max);
}
运行结果:
可以看出,被调函数中的:
printf("被调函数打印:这两个数中最大的是:%d\n",max);
这句话未执行,因为return语句,这句话永远不会被执行。
再来看看修改后的代码:
#include<stdio.h>
int max(int x,int y);
int main()
{
int a;
int b;
int c;
printf("请输入两个整数:\n");
scanf("%d %d",&a,&b);
c=max(a,b);
printf("主调函数打印:这两个数中最大的是:%d\n",c);
printf("ok\n");
getchar();
getchar();
return 0;
}
int max(int x,int y)
{
int max;
max= (x>y)?x:y;
printf("被调函数打印:这两个数中最大的是:%d\n",max);
return max;
}
运行结果:
从上面的代码可以看出,return语句确实终止了被调函数。