Pre-requisite: Functions in C
C return statement ends the execution of a function and returns the control to the function from where it was called. The return statement may or may not return a value depending upon the return type of the function. For example, int returns an integer value, void returns nothing, etc.
In C, we can only return a single value from the function using the return statement and we have to declare the data_type of the return value in the function definition/declaration.
Syntax:
return return_value;
Working of Return Statement
There are various ways to use return statements. A few are mentioned below:
1. Methods not returning a value
In C, one cannot skip the return statement when the return type of the function is non-void type. The return statement can be skipped only for void types.
A. Not using a return statement in void return type function:
While using the void function, it is not necessary to use return as the void itself means nothing(an empty value).
Syntax:
void func()
{
.
.
.
}
Example:
C
// C code to show not using return
// statement in void return type function
#include <stdio.h>
// void method without return statement
void Print()
{
printf("Welcome to GeeksforGeeks");
}
// Driver method
int main()
{
// Calling print
Print();
return 0;
}
Output:Welcome to GeeksforGeeks
B. Using the return statement in the void return type function
As void means empty, we don't need to return anything, but we can use the return statement inside void functions as shown below. Although, we still cannot return any value.
Syntax:
void func()
{
return;
}
This syntax is used in function as a jump statement in order to break the flow of the function and jump out of it. One can think of it as an alternative to "break statement" to use in functions.
Example:
C
// C code to show using return
// statement in void return type function
#include <stdio.h>
// void method with return statement
void Print()
{
printf("Welcome to GeeksforGeeks");
// void method using the return statement
return;
}
// Driver method
int main()
{
// Calling print
Print();
return 0;
}
Output:Welcome to GeeksforGeeks
But if the return statement tries to return a value in a void return type function, that will lead to errors.
Incorrect Syntax:
void func()
{
return value;
}
Example:
C
// C code to show using return statement
// with a value in void return type function
#include <stdio.h>
// void method
void Print()
{
printf("Welcome to GeeksforGeeks");
// void method using the return
// statement to return a value
return 10;
}
// Driver method
int main()
{
// Calling print
Print();
return 0;
}
Warnings:prog.c: In function 'Print':
prog.c:12:9: warning: 'return' with a value, in function returning void
return 10;
^
2. Methods returning a value
For functions that define a non-void return type in the definition and declaration, the return statement must be immediately followed by the return value of that specified return type.
Syntax:
return-type func()
{
return value;
}
Example:
C
// C code to illustrate Methods returning
// a value using return statement
#include <stdio.h>
// non-void return type
// function to calculate sum
int SUM(int a, int b)
{
int s1 = a + b;
// method using the return
// statement to return a value
return s1;
}
// Driver method
int main()
{
int num1 = 10;
int num2 = 10;
int sum_of = SUM(num1, num2);
printf("The sum is %d", sum_of);
return 0;
}
Note: A function can only return a single value using return statement. To return multiple values, we use pointers or structures. Know more about refer to the article - How to return multiple values from a function in C or C++?.
Similar Reads
C Programming Language Tutorial C is a general-purpose mid-level programming language developed by Dennis M. Ritchie at Bell Laboratories in 1972. It was initially used for the development of UNIX operating system, but it later became popular for a wide range of applications. Today, C remains one of the top three most widely used
5 min read
Dynamic Memory Allocation in C using malloc(), calloc(), free() and realloc() In C, a variable defined in a function is stored in the stack memory. The requirement of this memory is that it needs to know the size of the data to memory at compile time (before the program runs). Also, once defined, we can neither change the size nor completely delete the memory.To resolve this,
9 min read
Data Types in C Each variable in C has an associated data type. It specifies the type of data that the variable can store like integer, character, floating, double, etc.Example:C++int number;The above statement declares a variable with name number that can store integer values.C is a statically type language where
5 min read
C Language Introduction C is a general-purpose procedural programming language initially developed by Dennis Ritchie in 1972 at Bell Laboratories of AT&T Labs. It was mainly created as a system programming language to write the UNIX operating system.Main features of CWhy Learn C?C is considered mother of all programmin
6 min read
C Arrays An array in C is a fixed-size collection of similar data items stored in contiguous memory locations. It can be used to store the collection of primitive data types such as int, char, float, etc., as well as derived and user-defined data types such as pointers, structures, etc. Creating an Array in
7 min read
C Pointers A pointer is a variable that stores the memory address of another variable. Instead of holding a direct value, it has the address where the value is stored in memory. This allows us to manipulate the data stored at a specific memory location without actually using its variable. It is the backbone of
9 min read
C Programs To learn anything effectively, practicing and solving problems is essential. To help you master C programming, we have compiled over 100 C programming examples across various categories, including basic C programs, Fibonacci series, strings, arrays, base conversions, pattern printing, pointers, and
8 min read
Basics of File Handling in C File handling in C is the process in which we create, open, read, write, and close operations on a file. C language provides different functions such as fopen(), fwrite(), fread(), fseek(), fprintf(), etc. to perform input, output, and many different C file operations in our program.Need of File Han
13 min read
Operators in C In C language, operators are symbols that represent some kind of operations to be performed. They are the basic components of the C programming. In this article, we will learn about all the operators in C with examples.What is an Operator in C?A C operator can be defined as the symbol that helps us
11 min read
Bitwise Operators in C In C, bitwise operators are used to perform operations directly on the binary representations of numbers. These operators work by manipulating individual bits (0s and 1s) in a number.The following 6 operators are bitwise operators (also known as bit operators as they work at the bit-level). They are
6 min read