return 0 vs return 1 in C++

20 Jun, 2022
The Return statement in C/C++:
C and C++ support return statements, which are also called jump statements.
It is used to return a value from the function or stop the execution of the function. For more information on return statements, please refer to article return statement in C/C++ with examples.
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++
// C++ program to divide two numbers#include <iostream>using namespace std; // Driver Codeint main(){    // Given integers    int a = 5, b = 0;     if (b == 0) {         // The below line is used to print        // the message in the error window        // fprintf(stderr, "Division by zero"        //                 " is not possible.");         // Print the error message        // as return is -1        printf("Division by zero is"               " not possible.");        return -1;    }     // Else print the division of    // two numbers    cout << a / b << endl;     return 0;}
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.
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++
// C++ program to demonstrate the use// of return 0 and return 1 inside// user-defined function#include <iostream>using namespace std; // Utility function returning 1 or// 0 based on given ageint checkAdultUtil(int age){    if (age >= 18)        return 1;    else        return 0;} // Function to check for agevoid checkAdult(int age){    // Checking on the basis    // of given age    if (checkAdultUtil(age))        cout << "You are an adult\n";    else        cout << "You are not an adult\n";} // Driver Codeint main(){    // Given age    int age = 25;     // Function Call    checkAdult(age);     return 0;}
You are an adult
Time Complexity: O(1)Auxiliary Space: O(1)
Conclusion:
jayanth_mkv
cpp-main
main
return
C++
C++ Programs
Programming Language
CPP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.