傳回陳述式 (C)
return陳述式的結束函式的執行,並將控制權傳回給呼叫的函式。 在呼叫的函式,緊接在呼叫的點繼續執行。 A return陳述式可以也將值傳回給呼叫的函式。 請參閱傳回型別如需詳細資訊。
語法
- 跳躍陳述式:
return expression opt**;**
值為運算式,如果有的話,就會回到呼叫函式。 如果運算式被省略,函式的傳回值是未定義。 運算式中,如果有的話,會轉換成函式傳回的型別中。 如果函式被宣告的傳回型別與void、 return包含之運算式的陳述式會產生警告,並不會評估運算式。
如果沒有return陳述式出現在函式定義中,控制項會自動返回至呼叫的函式呼叫的函式的最後一個陳述式執行之後。 在此情況下,呼叫的函式的傳回值未定義的。 如果傳回的值不是必要的宣告的函數,以取得void傳回型別 ; 否則,預設的傳回型別是int。
許多程式設計人員要使用括號括起來運算式引數的return陳述式。 不過,c 不需要括號。
本範例將示範return陳述式:
void draw( int I, long L );
long sq( int s );
int main()
{
long y;
int x;
y = sq( x );
draw( x, y );
return();
}
long sq( int s )
{
return( s * s );
}
void draw( int I, long L )
{
/* Statements defining the draw function here */
return;
}
在這個範例中, main函式會呼叫兩個函式: sq和draw。 sq函數會傳回值的x * x到main,其中的傳回值指派給y。 draw函式宣告為void函式,並不會傳回值。 嘗試指派的傳回值draw會導致發出的診斷訊息。