函数的返回值(初学者)

通常,希望通过函数使主调函数得到一个确定的值,这就是函数的返回值。

说明:1、函数的返回值是通过函数的return语句获得的。

(1)return语句将被调函数中的一个确定值带回主调函数中去。

(2)若需要从被调函数带回一个值供主调函数使用,被调函数必须包含return语句。如果不需要就可以不带。

(3)一个函数语句可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。return语句后面的括弧也可以不要。如:return 2;等价于:return(2);

(4)return后的值可以是一个表达式。

例:int max(int x,int y);

  {

    return(x>y?x:y);

  }

2、(1)函数的返回值应当属于某一个确定的类型,在定义函数时指定函数返回值的类型。

例:int max(float x,float y)   /*函数的值为整型*/

(2)在C语言中,凡不加类型说明符的函数自动按整形处理。

3、(1)在定义函数时指定函数的类型一般应和return语句中的表达式类型一致。如果函数值的类型和return语句表达式的值不一致,则以函数类型为准。对数值型数据可以自动进行类型转换。

(2)对于不带回值的函数,应当用“viod”定义函数为无类型(空类型)。这样,系统就保证不使函数带回任何值。此时,在函数体中不得出现return语句。

例:(反例)

#include <stdafx.h>
#include<stdio.h>

void main()
{
    int max(float x,float y);
    float a,b;
    int c;
    scanf("%d%d",&a,&b);
    c=max(a,b);
    printf("Max is %d:\n",c);
}
int max(float x,float y)
{
    float z;
    z=x>y?x:y;
    return(z);
}

正例:

#include <stdafx.h>
#include<stdio.h>

void main()
{
    float max(float x,float y);
    float a,b;
    float c;
    scanf("%f%f",&a,&b);
    c=max(a,b);
    printf("Max is %f:\n",c);
}
float max(float x,float y)
{
    float z;
    z=x>y?x:y;
    return(z);
}

猜你喜欢

转载自www.cnblogs.com/lvfengkun/p/10332022.html