Examples of return statements
The following are examples of return statements:
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 */
The following function searches through an array of integers to
determine if a match exists for the variable
number
. If
a match exists, the function match
returns the value of i
.
If a match does not exist, the function match
returns the
value -1
(negative one).
int match(int number, int array[ ], int n)
{
int i;
for (i = 0; i < n; i++)
if (number == array[i])
return (i);
return(-1);
}
A function can contain multiple return
statements.
For example:
void copy( int *a, int *b, int c)
{
/* Copy array a into b, assuming both arrays are the same size */
if (!a || !b) /* if either pointer is 0, return */
return;
if (a == b) /* if both parameters refer */
return; /* to same array, return */
if (c == 0) /* nothing to copy */
return;
for (int i = 0; i < c; ++i;) /* do the copying */
b[i] = a[1];
/* implicit return */
}
In this example, the return
statement is used to
cause a premature termination of the function, similar to a break
statement.An expression appearing in a return
statement is converted
to the return type of the function in which the statement appears.
If no implicit conversion is possible, the return
statement
is invalid.
Related information