A function is a collection of statements grouped together to do some specific task. It may return a value. However, in no case a function will return more than one value. What does it mean by returning a value and where it is returned? To understand this let us consider an example.
Suppose I am the boss of a company. I assigned an audit task to one of my employee. Consider the audit task as a function. Employee will complete the task (execute the function) and return the audit report back to the boss (i.e. me). Similarly, function returns a value and program control back to the caller function.
Use of return
statement
return
statement terminates a function and transfer program control to its caller function. Optionally it may return a value to the caller. You can use the return
statement anywhere inside a function.
Note: Once a function returned program control to the caller. The function cannot get the control back.
Syntax of return
statement
return expression;
return
keyword transfers program control to the caller.expression
is optional, used to return result of a valid C expression to the caller.
Note: The function return type and returned value type (data type) of the function must be same.
Example program to use return
statement
Write a C program to input two numbers from user. Write a function to find maximum between two given two numbers and return the maximum value.
/**
* C program to find maximum between two numbers using function
*/
#include <stdio.h>
/* Function declaration */
int max(int num1, int num2);
int main()
{
int num1, num2, maximum;
printf("Enter two numbers: ");
scanf("%d%d", &num1, &num2);
/*
* Call max function with arguments num1 and num2
* Store the maximum returned to variable maximum
*/
maximum = max(num1, num2);
printf("Maximum = %d", maximum);
return 0;
}
/* Function definition */
int max(int num1, int num2)
{
int maximum;
// Find maximum between two numbers
if(num1 > num2)
maximum = num1;
else
maximum = num2;
// Return the maximum value to caller
return maximum;
}
Output –
Enter two numbers: 10 20
Maximum = 20