La instrucción Return en C/C++:
- C y C++ admiten declaraciones de retorno, que también se denominan declaraciones de salto .
- Se utiliza para devolver un valor de la función o detener la ejecución de la función. Para obtener más información sobre declaraciones de devolución, consulte el artículo declaración de devolución en C/C++ con ejemplos .
Hay dos escenarios en los que se utilizarán declaraciones de retorno:
Método 1. Dentro de la función principal :
- En este caso, la declaración de retorno detiene la ejecución del programa, y 0 o 1 denotarán el estado de ejecución.
- Estos códigos de estado solo se usarán como una convención durante mucho tiempo en el lenguaje C porque el lenguaje no admite objetos, clases y excepciones.
- retorno 0: un retorno 0 significa que el programa se ejecutará con éxito e hizo lo que se pretendía que hiciera.
- retorno 1: un retorno 1 significa que hay algún error al ejecutar el programa y no está realizando lo que se pretendía que hiciera.
Características importantes de la declaración de devolución:
- Si sale con un estado distinto de 0 , imprima un mensaje de error en stderr .
- Existen diferentes convenciones según el sistema operativo sobre los códigos de retorno.
- El sistema operativo puede finalizar el programa con códigos de estado de salida específicos si se realizan algunas operaciones no válidas.
A continuación se muestra un programa para ilustrar el uso de return 0 y return 1 dentro de la función principal :
C++
// C++ program to divide two numbers #include <iostream> using namespace std; // Driver Code int 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; }
Producción:
Division by zero is not possible.
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Método 2. Dentro de la función definida por el usuario :
- C++ trata a booleano como un tipo de datos completamente separado que tiene solo 2 valores distintos, es decir, verdadero y falso .
- Los valores 1 y 0 son de tipo int y no son implícitamente convertibles a booleanos, eso significa:
- return 0: devuelve falso de una función.
- return 1: devolver verdadero de una función.
A continuación se muestra un programa para ilustrar el uso de return 0 y return 1 dentro de la función definida por el usuario:
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 age int checkAdultUtil(int age) { if (age >= 18) return 1; else return 0; } // Function to check for age void 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 Code int main() { // Given age int age = 25; // Function Call checkAdult(age); return 0; }
Producción:
You are an adult
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Conclusión:
caso de uso | volver 0 | volver 1 |
En la función principal | devolver 0 en la función principal significa que el programa se ejecutó correctamente. | devolver 1 en la función principal significa que el programa no se ejecuta con éxito y hay algún error. |
En función definida por el usuario | devolver 0 significa que la función definida por el usuario está devolviendo falso. | return 1 significa que la función definida por el usuario está devolviendo verdadero. |