先上代码,然后再来分析:
void main()
{
int a,b;
printf("请输入两个整数:\n");
scanf("%d %d",&a,&b);
printf("%d\n",Test(a,b));
}
int Test(int x,int y)
{
int min;
if(x>y)
min=y;
else if (x<y)
min=x;
else
{
min=x;
printf("您输入的两个数相等!%d\n");
}
return min;
}
Test函数其实是一个带返回值的函数,一般定义void类型的函数它的使用过程如下:调用函数指向被调函数,执行完被调函数之后返回main函数继续向下执行。而带返回值的函数(例如上面的Test函数),它的调用过程其实和不带返回值的函数正好相反,其过程如下:调用函数在执行到Test函数,将其返回值带回到main函数中。一个形象的比喻就是一个出门不带礼物给wife(不带返回值),另一个出门带了礼物给wife(带返回值)。
因为返回值是被调函数私有的,因此在调用函数中不能直接使用min,也就是被调函数的返回值。那如何使用呢?可以将被调函数赋值给另外一个变量,也可以被用作表达式的一部分。
另外实参在值传递的时候仅仅是把函数带的参数复制给了形参。
good night!