return ステートメントに式がある場合、その式の値を呼び出し元に戻します。 式のデータ型が関数の戻りの型と異なる場合には、式の値が、あたかも、 関数の戻りの型が同じであるオブジェクトに割り当てられたかのように、戻り値の変換が行われます。
戻りの型が void の関数の return ステートメントの値は、この関数が 値を戻さないことを意味しています。 非 void の戻りの型を宣言されている関数内の return ステートメントに式が指定されていない場合は、コンパイラーによってエラー・メッセージが出力されます。
void 型を戻すものとして関数が宣言されている場合、式を持つ return ステートメントを 使用することはできません。
return ステートメントの例
return; /* Returns no value */ return result; /* Returns the value of result */ return 1; /* Returns the value 1 */ return (x * x); /* Returns the value of x * x */
以下の関数は、整数の配列を検索して、変数 number と一致する ものが存在するかどうか判別します。一致するものが存在すると、関数 match は i の値 を戻します。一致するものが存在しない場合、関数 match は -1 (マイナス 1) という値を 戻します。
int match(int number, int array[ ], int n) { int i; for (i = 0; i < n; i++) if (number == array[i]) return (i); return(-1); }
関連参照