return 0 vs return 1 in C++
Last Updated :
20 Jun, 2022
The Return statement in C/C++:
There are two scenarios in which return statements will be used:
Method 1. Inside the main function:
- In this case, the return statement stops the execution of the program, and 0 or 1 will denote the execution status.
- These status codes will be just used as a convention for a long time in C language because the language does not support the objects and classes, and exceptions.
- return 0: A return 0 means that the program will execute successfully and did what it was intended to do.
- return 1: A return 1 means that there is some error while executing the program, and it is not performing what it was intended to do.
Important characteristics of the return statement:
- If exit with a status other than 0 then, print an error message to stderr.
- There are different conventions depending on the operating system about return codes.
- The Operating System may itself terminate the program with specific exit status codes if some invalid operations are performed.
Below is a program to illustrate the use of return 0 and return 1 inside the main function:
C++
#include <iostream>
using namespace std;
int main()
{
int a = 5, b = 0;
if (b == 0) {
printf ( "Division by zero is"
" not possible." );
return -1;
}
cout << a / b << endl;
return 0;
}
|
Output:
Division by zero is not possible.
Time Complexity: O(1)
Auxiliary Space: O(1)
Method 2. Inside the user-defined function:
- C++ treats boolean as a completely separate data type that has only 2 distinct values, i.e., true and false.
- The values 1 and 0 are of type int and are not implicitly convertible to boolean, that means:
- return 0: returning false from a function.
- return 1: returning true from a function.
Below is a program to illustrate the use of return 0 and return 1 inside the user-defined function:
C++
#include <iostream>
using namespace std;
int checkAdultUtil( int age)
{
if (age >= 18)
return 1;
else
return 0;
}
void checkAdult( int age)
{
if (checkAdultUtil(age))
cout << "You are an adult\n" ;
else
cout << "You are not an adult\n" ;
}
int main()
{
int age = 25;
checkAdult(age);
return 0;
}
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Conclusion:
Use-case |
return 0 |
return 1 |
In the main function |
return 0 in the main function means that the program executed successfully. |
return 1 in the main function means that the program does not execute successfully and there is some error. |
In user-defined function |
return 0 means that the user-defined function is returning false. |
return 1 means that the user-defined function is returning true. |
Share your thoughts in the comments
Please Login to comment...