return 0 vs return 1 in C++
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 article return statement in C/C++ with Examples.
There are two scenarios in which return statements are 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 are 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.
- 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:
Division by zero is not possible.
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:
You are an adult
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.