函數的返回值(初學者)


通常,希望通過函數使主調函數得到一個確定的值,這就是函數的返回值。

說明: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);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM